Angle of arrival capability in electronic devices

ABSTRACT

A method includes obtaining channel information, range information, and angle of arrival (AoA) information based on wireless signals communicated between an electronic device and an external electronic device. The method also includes generating an initial prediction of a presence of the external electronic device relative to a field of view (FoV) of the electronic device based on the channel information and at least one of the range information or the AoA information. The initial prediction includes an indication of whether the external electronic device is within the FoV or outside the FoV of the electronic device. The method further includes performing, using a tracking filter, a smoothing operation on the range information and the AoA information. Additionally, the method includes determining that the external electronic device is within the FoV of the electronic device based on the AoA information, the smoothed AoA information, and the initial prediction.

CROSS-REFERENCE TO RELATED APPLICATION AND CLAIM OF PRIORITY

This application claims priority under 35 U.S.C. § 119(e) to U.S.Provisional Patent Application No. 63/059,043 filed on Jul. 30, 2021.The above-identified provisional patent application is herebyincorporated by reference in its entirety.

TECHNICAL FIELD

This disclosure relates generally to localizing an electronic device.More specifically, this disclosure relates to angle of arrivalcapability in electronic devices.

BACKGROUND

The use of mobile computing technology has greatly expanded largely dueto usability, convenience, computing power, and the like. One result ofthe recent technological development is that electronic devices arebecoming more compact, while the number of functions and features that agiven device can perform is increasing. Certain electronic devices candetermine whether another device is within its field of view. Forexample, an electronic device can transmit and receive signals withother devices and determine an angle of arrival (AoA) of the receivedsignals and a distance between the devices. The signals can be corruptedwhich can create inaccurate AoA and range determinations. Inaccurate AoAand range determinations, can cause the electronic device to incorrectlydetermine that another electronic device is within its field of view oroutside its field of view.

SUMMARY

This disclosure provides angle of arrival capability in electronicdevices.

In one embodiment, a method is provided. The method includes obtainingchannel information, range information, and angle of arrival (AoA)information based on wireless signals communicated between an electronicdevice and an external electronic device. The method also includesgenerating an initial prediction of a presence of the externalelectronic device relative to a field of view (FoV) of the electronicdevice based on the channel information and at least one of the rangeinformation or the AoA information, wherein the initial predictionincludes an indication of whether the external electronic device iswithin the FoV or outside the FoV of the electronic device. The methodfurther includes performing, using a tracking filter, a smoothingoperation on the range information and the AoA information.Additionally, the method includes determining that the externalelectronic device is within the FoV or outside the FoV of the electronicdevice based on the AoA information, the smoothed AoA information, andthe initial prediction of the presence of the external electronic devicerelative to the FoV of the electronic device.

In another embodiment, an electronic device is provided. The electronicdevice includes a processor. The processor is configured to obtainchannel information, range information, and AoA information based onwireless signals communicated between an electronic device and anexternal electronic device. The processor is also configured to generatean initial prediction of a presence of the external electronic devicerelative to a FoV of the electronic device based on the channelinformation and at least one of the range information or the AoAinformation, wherein the initial prediction includes an indication ofwhether the external electronic device is within the FoV or outside theFoV of the electronic device. The processor is further configured toperform, using a tracking filter, a smoothing operation on the rangeinformation and the AoA information. Additionally, the processor isconfigured to determine that the external electronic device is withinthe FoV or outside the FoV of the electronic device based on the AoAinformation, the smoothed AoA information, and the initial prediction ofthe presence of the external electronic device relative to the FoV ofthe electronic device.

In yet another embodiment a non-transitory computer readable mediumcontaining instructions is provided. The instructions that when executedcause at least one processor to obtain channel information, rangeinformation, and AoA information based on wireless signals communicatedbetween an electronic device and an external electronic device. Theinstructions that when executed also cause at least one processor togenerate an initial prediction of a presence of the external electronicdevice relative to a field FoV of the electronic device based on thechannel information and at least one of the range information or the AoAinformation, wherein the initial prediction includes an indication ofwhether the external electronic device is within the FoV or outside theFoV of the electronic device. The instructions that when executedfurther cause at least one processor to perform, using a trackingfilter, a smoothing operation on the range information and the AoAinformation. Additionally, the instructions that when executed cause atleast one processor to determine that the external electronic device iswithin the FoV or outside the FoV of the electronic device based on theAoA information, the smoothed AoA information, and the initialprediction of the presence of the external electronic device relative tothe FoV of the electronic device.

Other technical features may be readily apparent to one skilled in theart from the following figures, descriptions, and claims.

Before undertaking the DETAILED DESCRIPTION below, it may beadvantageous to set forth definitions of certain words and phrases usedthroughout this patent document. The term “couple” and its derivativesrefer to any direct or indirect communication between two or moreelements, whether or not those elements are in physical contact with oneanother. The terms “transmit,” “receive,” and “communicate,” as well asderivatives thereof, encompass both direct and indirect communication.The terms “include” and “comprise,” as well as derivatives thereof, meaninclusion without limitation. The term “or” is inclusive, meaningand/or. The phrase “associated with,” as well as derivatives thereof,means to include, be included within, interconnect with, contain, becontained within, connect to or with, couple to or with, be communicablewith, cooperate with, interleave, juxtapose, be proximate to, be boundto or with, have, have a property of, have a relationship to or with, orthe like. The term “controller” means any device, system or part thereofthat controls at least one operation. Such a controller may beimplemented in hardware or a combination of hardware and software and/orfirmware. The functionality associated with any particular controllermay be centralized or distributed, whether locally or remotely. Thephrase “at least one of,” when used with a list of items, means thatdifferent combinations of one or more of the listed items may be used,and only one item in the list may be needed. For example, “at least oneof: A, B, and C” includes any of the following combinations: A, B, C, Aand B, A and C, B and C, and A and B and C.

Moreover, various functions described below can be implemented orsupported by one or more computer programs, each of which is formed fromcomputer readable program code and embodied in a computer readablemedium. The terms “application” and “program” refer to one or morecomputer programs, software components, sets of instructions,procedures, functions, objects, classes, instances, related data, or aportion thereof adapted for implementation in a suitable computerreadable program code. The phrase “computer readable program code”includes any type of computer code, including source code, object code,and executable code. The phrase “computer readable medium” includes anytype of medium capable of being accessed by a computer, such as readonly memory (ROM), random access memory (RAM), a hard disk drive, acompact disc (CD), a digital video disc (DVD), or any other type ofmemory. A “non-transitory” computer readable medium excludes wired,wireless, optical, or other communication links that transporttransitory electrical or other signals. A non-transitory computerreadable medium includes media where data can be permanently stored andmedia where data can be stored and later overwritten, such as arewritable optical disc or an erasable memory device.

Definitions for other certain words and phrases are provided throughoutthis patent document. Those of ordinary skill in the art shouldunderstand that in many if not most instances, such definitions apply toprior as well as future uses of such defined words and phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure and itsadvantages, reference is now made to the following description taken inconjunction with the accompanying drawings, in which like referencenumerals represent like parts:

FIG. 1 illustrates an example communication system according toembodiments of this disclosure;

FIG. 2 illustrates an example electronic device according to embodimentsof this disclosure;

FIG. 3 illustrates an example network configuration according toembodiments of the present disclosure;

FIG. 4A illustrates an example diagram of a determination of whethertarget device is within a field of view (FoV) of an electronic deviceaccording to embodiments of the present disclosure;

FIG. 4B illustrates an example coordinate system according toembodiments of the present disclosure;

FIGS. 5A, 5B, and 5C illustrate signal processing diagrams for field ofview determination according to embodiments of the present disclosure;

FIG. 6 illustrates example channel impulse response (CIR) graphs for aninitial FoV determination according to embodiments of the presentdisclosure;

FIG. 7 illustrates example process for selecting a classifier for aninitial FoV determination according to embodiments of the presentdisclosure;

FIGS. 8A and 8B illustrate example moving average filters for an initialFoV prediction according to embodiments of the present disclosure;

FIGS. 9A, 9B, 9C, and 9D illustrate example methods for various trackingfilter operations according to embodiments of the present disclosure;

FIG. 10 illustrates an example method for determining whether a targetdevice is within the FoV of an electronic device according toembodiments of the present disclosure;

FIG. 11 illustrates an example method for performing a reset due tomotion according to embodiments of the present disclosure; and

FIG. 12 illustrates an example method for FoV determination according toembodiments of the present disclosure.

DETAILED DESCRIPTION

FIGS. 1 through 12 , discussed below, and the various embodiments usedto describe the principles of the present disclosure in this patentdocument are by way of illustration only and should not be construed inany way to limit the scope of the disclosure. Those skilled in the artwill understand that the principles of the present disclosure may beimplemented in any suitably-arranged system or device.

An electronic device, according to embodiments of the presentdisclosure, can include a personal computer (such as a laptop, adesktop), a workstation, a server, a television, an appliance, and thelike. In certain embodiments, an electronic device can be a portableelectronic device such as a portable communication device (such as asmartphone or mobile phone), a laptop, a tablet, an electronic bookreader (such as an e-reader), a personal digital assistants (PDAs), aportable multimedia player (PMP), an MP3 player, a mobile medicaldevice, a virtual reality headset, a portable game console, a camera,and a wearable device, among others. Additionally, the electronic devicecan be at least one of a part of a piece of furniture orbuilding/structure, an electronic board, an electronic signaturereceiving device, a projector, or a measurement device. The electronicdevice is one or a combination of the above-listed devices.Additionally, the electronic device as disclosed herein is not limitedto the above-listed devices and can include new electronic devicesdepending on the development of technology. It is noted that as usedherein, the term “user” may denote a human or another device (such as anartificial intelligent electronic device) using the electronic device.

In certain embodiments, an electronic device can include a receiver (ora transceiver) and one or more target devices can include a transmitter(or transceiver). The receiver (or transceiver) of the electronic devicecan be can ultra-wideband (UWB) receiver (or UWB transceiver).Similarly, the transmitter (or transceiver) target devices can be a UWBtransmitter (or UWB transceiver). The electronic device can measureangle of arrival (AoA) of a UWB signal transmitted by the target device.UWB signals provide centimeter level ranging. For example, if the targetdevice is within line of site (LOS) of the electronic device, theelectronic device can determine the range (distance) between the twodevices with an accuracy that is within ten centimeters. Alternativelyif the target device is not within a LOS of the electronic device, theelectronic device can determine the range between the two devices withan accuracy that is within fifty centimeters. Additionally, if thetarget device is within LOS of the electronic device, the electronicdevice can determine the AoA between the two devices with an accuracythat is within three degrees.

Embodiments of the present disclosure provide systems and methods todetermine whether the target device is within the FoV of the electronicdevice. UWB measurements become negatively impacted due to theenvironment that the electronic device and the target device are within.Based on the environment, the location of the target device relative tothe electronic device may be difficult to determine, such as when theelectronic device is unable to be determine whether the received signalscame directly from the target device or were a reflection off of anobject in the environment.

Embodiments of the present disclosure recognize and take intoconsideration that without post processing an electronic device may beunable to determine whether a received signal came directly from atarget device or if the signal was a reflection (referred to as amultipath effect). Accordingly, embodiments of the present disclosureprovide systems and methods to improve the quality of the measurementsfor enabling an electronic device to determine whether the target deviceis within its the FoV of the electronic device. When the electronicdevice determines that the target device is within its FoV, can improveuser experience with respect to sharing data such as in a peer-to-peerfile sharing scenario.

Embodiments of the present disclosure provide systems and methods forpost processing received signals. The received signals can includeimperfect UWB measurements. The post processing can be used to identifywhether the presence of a target device (such as an external electronicdevice) is within the FoV of an electronic device. Accordingly,embodiments of the present disclosure provide systems and methods forperforming an initial prediction of whether a target device is withinthe FoV of the electronic device. The initial prediction can be based onreceived range information representing the distance between the targetdevice and the electronic device. The initial prediction can also bebased on the AoA of the received signals from the target device. Theinitial prediction can be further based on channel impulse response(CIR) features. Embodiments of the present disclosure also providesystems and methods for smoothing the range measurements and AoAmeasurements. Embodiments of the present disclosure further providesystems and methods for performing a final FoV classification. The finalFoV classification is based on part on the initial prediction and thesmoothed range measurements and the smoothed AoA measurements. The finalFoV classification can output a FoV determination along with aconfidence level of the determination. Additionally, embodiments of thepresent disclosure provide systems and methods for detecting a drasticor sudden motion of the electronic device. The motion can trigger theelectronic device to a reset the state of the tracking filter. Incertain embodiments, detecting a certain motion also triggers theelectronic device to reset a buffer for storing the initial predictions,the final FoV classification, or both.

FIG. 1 illustrates an example communication system 100 in accordancewith an embodiment of this disclosure. The embodiment of thecommunication system 100 shown in FIG. 1 is for illustration only. Otherembodiments of the communication system 100 can be used withoutdeparting from the scope of this disclosure.

The communication system 100 includes a network 102 that facilitatescommunication between various components in the communication system100. For example, the network 102 can communicate IP packets, framerelay frames, Asynchronous Transfer Mode (ATM) cells, or otherinformation between network addresses. The network 102 includes one ormore local area networks (LANs), metropolitan area networks (MANs), widearea networks (WANs), all or a portion of a global network such as theInternet, or any other communication system or systems at one or morelocations.

In this example, the network 102 facilitates communications between aserver 104 and various client devices 106-114. The client devices106-114 may be, for example, a smartphone, a tablet computer, a laptop,a personal computer, a wearable device, a head mounted display, or thelike. The server 104 can represent one or more servers. Each server 104includes any suitable computing or processing device that can providecomputing services for one or more client devices, such as the clientdevices 106-114. Each server 104 could, for example, include one or moreprocessing devices, one or more memories storing instructions and data,and one or more network interfaces facilitating communication over thenetwork 102.

In certain embodiments, the server 104 is a neural network that isconfigured to extract features from the received signals. In certainembodiments, a neural network is included within any of the clientdevices 106-114. When a neural network is included in a client device,the client device can use the neural network to extract features fromthe received signals, without having to transmit content over thenetwork 102. Similarly, when a neural network is included in a clientdevice, the client device can use the neural network to identify whetheranother client device is within the field of view of the client deicethat includes the neural network.

Each of the client devices 106-114 represent any suitable computing orprocessing device that interacts with at least one server (such as theserver 104) or other computing device(s) over the network 102. Theclient devices 106-114 include a desktop computer 106, a mobiletelephone or mobile device 108 (such as a smartphone), a PDA 110, alaptop computer 112, and a tablet computer 114. However, any other oradditional client devices could be used in the communication system 100.Smartphones represent a class of mobile devices 108 that are handhelddevices with mobile operating systems and integrated mobile broadbandcellular network connections for voice, short message service (SMS), andInternet data communications. In certain embodiments, any of the clientdevices 106-114 can emit and collect radar signals via a measuringtransceiver. In certain embodiments, any of the client devices 106-114can emit and collect UWB signals via a measuring transceiver.

In this example, some client devices 108-114 communicate indirectly withthe network 102. For example, the mobile device 108 and PDA 110communicate via one or more base stations 116, such as cellular basestations or eNodeBs (eNBs). Also, the laptop computer 112 and the tabletcomputer 114 communicate via one or more wireless access points 118,such as IEEE 802.11 wireless access points. Note that these are forillustration only and that each of the client devices 106-114 couldcommunicate directly with the network 102 or indirectly with the network102 via any suitable intermediate device(s) or network(s). In certainembodiments, any of the client devices 106-114 transmit informationsecurely and efficiently to another device, such as, for example, theserver 104.

As illustrated, the laptop computer 112 can communicate with the mobiledevice 108. Based on the wireless signals which are communicated betweenthese two devices, a device (such as the laptop computer 112, the mobiledevice 108, or another device, such as the server 104) obtaining channelinformation, range information, and AoA information. Channel informationcan include features of a channel impulse response (CIR) of a wirelesschannel between the laptop computer 112 and the mobile device 108. Therange can be an instantaneous distance or variances in the distancesbetween the laptop computer 112 and the mobile device 108, based on thewireless signals. Similarly, the AoA can be an instantaneous AoAmeasurement or variances in AoA measurements between the laptop computer112 and the mobile device 108, based on the wireless signals.

Although FIG. 1 illustrates one example of a communication system 100,various changes can be made to FIG. 1 . For example, the communicationsystem 100 could include any number of each component in any suitablearrangement. In general, computing and communication systems come in awide variety of configurations, and FIG. 1 does not limit the scope ofthis disclosure to any particular configuration. While FIG. 1illustrates one operational environment in which various featuresdisclosed in this patent document can be used, these features could beused in any other suitable system.

FIG. 2 illustrates an example electronic device in accordance with anembodiment of this disclosure. In particular, FIG. 2 illustrates anexample electronic device 200, and the electronic device 200 couldrepresent the server 104 or one or more of the client devices 106-114 inFIG. 1 . The electronic device 200 can be a mobile communication device,such as, for example, a mobile station, a subscriber station, a wirelessterminal, a desktop computer (similar to the desktop computer 106 ofFIG. 1 ), a portable electronic device (similar to the mobile device108, the PDA 110, the laptop computer 112, or the tablet computer 114 ofFIG. 1 ), a robot, and the like.

As shown in FIG. 2 , the electronic device 200 includes transceiver(s)210, transmit (TX) processing circuitry 215, a microphone 220, andreceive (RX) processing circuitry 225. The transceiver(s) 210 caninclude, for example, a RF transceiver, a BLUETOOTH transceiver, a WiFitransceiver, a ZIGBEE transceiver, an infrared transceiver, and variousother wireless communication signals. The electronic device 200 alsoincludes a speaker 230, a processor 240, an input/output (I/O) interface(IF) 245, an input 250, a display 255, a memory 260, and a sensor 265.The memory 260 includes an operating system (OS) 261, and one or moreapplications 262.

The transceiver(s) 210 can include an antenna array including numerousantennas. The antennas of the antenna array can include a radiatingelement composed of a conductive material or a conductive pattern formedin or on a substrate. The transceiver(s) 210 transmit and receive asignal or power to or from the electronic device 200. The transceiver(s)210 receives an incoming signal transmitted from an access point (suchas a base station, WiFi router, or BLUETOOTH device) or other device ofthe network 102 (such as a WiFi, BLUETOOTH, cellular, 5G, LTE, LTE-A,WiMAX, or any other type of wireless network). The transceiver(s) 210down-converts the incoming RF signal to generate an intermediatefrequency or baseband signal. The intermediate frequency or basebandsignal is sent to the RX processing circuitry 225 that generates aprocessed baseband signal by filtering, decoding, and/or digitizing thebaseband or intermediate frequency signal. The RX processing circuitry225 transmits the processed baseband signal to the speaker 230 (such asfor voice data) or to the processor 240 for further processing (such asfor web browsing data).

The TX processing circuitry 215 receives analog or digital voice datafrom the microphone 220 or other outgoing baseband data from theprocessor 240. The outgoing baseband data can include web data, e-mail,or interactive video game data. The TX processing circuitry 215 encodes,multiplexes, and/or digitizes the outgoing baseband data to generate aprocessed baseband or intermediate frequency signal. The transceiver(s)210 receives the outgoing processed baseband or intermediate frequencysignal from the TX processing circuitry 215 and up-converts the basebandor intermediate frequency signal to a signal that is transmitted.

The processor 240 can include one or more processors or other processingdevices. The processor 240 can execute instructions that are stored inthe memory 260, such as the OS 261 in order to control the overalloperation of the electronic device 200. For example, the processor 240could control the reception of forward channel signals and thetransmission of reverse channel signals by the transceiver(s) 210, theRX processing circuitry 225, and the TX processing circuitry 215 inaccordance with well-known principles. The processor 240 can include anysuitable number(s) and type(s) of processors or other devices in anysuitable arrangement. For example, in certain embodiments, the processor240 includes at least one microprocessor or microcontroller. Exampletypes of processor 240 include microprocessors, microcontrollers,digital signal processors, field programmable gate arrays, applicationspecific integrated circuits, and discrete circuitry. In certainembodiments, the processor 240 includes a neural network.

The processor 240 is also capable of executing other processes andprograms resident in the memory 260, such as operations that receive andstore data. The processor 240 can move data into or out of the memory260 as required by an executing process. In certain embodiments, theprocessor 240 is configured to execute the one or more applications 262based on the OS 261 or in response to signals received from externalsource(s) or an operator. Example, applications 262 can include amultimedia player (such as a music player or a video player), a phonecalling application, a virtual personal assistant, and the like.

The processor 240 is also coupled to the I/O interface 245 that providesthe electronic device 200 with the ability to connect to other devices,such as client devices 106-114. The I/O interface 245 is thecommunication path between these accessories and the processor 240.

The processor 240 is also coupled to the input 250 and the display 255.The operator of the electronic device 200 can use the input 250 to enterdata or inputs into the electronic device 200. The input 250 can be akeyboard, touchscreen, mouse, track ball, voice input, or other devicecapable of acting as a user interface to allow a user in interact withthe electronic device 200. For example, the input 250 can include voicerecognition processing, thereby allowing a user to input a voicecommand. In another example, the input 250 can include a touch panel, a(digital) pen sensor, a key, or an ultrasonic input device. The touchpanel can recognize, for example, a touch input in at least one scheme,such as a capacitive scheme, a pressure sensitive scheme, an infraredscheme, or an ultrasonic scheme. The input 250 can be associated withthe sensor(s) 265, the measuring transceiver 270, a camera, and thelike, which provide additional inputs to the processor 240. The input250 can also include a control circuit. In the capacitive scheme, theinput 250 can recognize touch or proximity.

The display 255 can be a liquid crystal display (LCD), light-emittingdiode (LED) display, organic LED (OLED), active matrix OLED (AMOLED), orother display capable of rendering text and/or graphics, such as fromwebsites, videos, games, images, and the like. The display 255 can be asingular display screen or multiple display screens capable of creatinga stereoscopic display. In certain embodiments, the display 255 is aheads-up display (HUD).

The memory 260 is coupled to the processor 240. Part of the memory 260could include a RAM, and another part of the memory 260 could include aFlash memory or other ROM. The memory 260 can include persistent storage(not shown) that represents any structure(s) capable of storing andfacilitating retrieval of information (such as data, program code,and/or other suitable information). The memory 260 can contain one ormore components or devices supporting longer-term storage of data, suchas a read only memory, hard drive, Flash memory, or optical disc.

The electronic device 200 further includes one or more sensors 265 thatcan meter a physical quantity or detect an activation state of theelectronic device 200 and convert metered or detected information intoan electrical signal. For example, the sensor 265 can include one ormore buttons for touch input, a camera, a gesture sensor, opticalsensors, cameras, one or more inertial measurement units (IMUs), such asa gyroscope or gyro sensor, and an accelerometer. The sensor 265 canalso include an air pressure sensor, a magnetic sensor or magnetometer,a grip sensor, a proximity sensor, an ambient light sensor, abio-physical sensor, a temperature/humidity sensor, an illuminationsensor, an Ultraviolet (UV) sensor, an Electromyography (EMG) sensor, anElectroencephalogram (EEG) sensor, an Electrocardiogram (ECG) sensor, anIR sensor, an ultrasound sensor, an iris sensor, a fingerprint sensor, acolor sensor (such as a Red Green Blue (RGB) sensor), and the like. Thesensor 265 can further include control circuits for controlling any ofthe sensors included therein. Any of these sensor(s) 265 may be locatedwithin the electronic device 200 or within a secondary device operablyconnected to the electronic device 200.

In this embodiment, one of the one or more transceivers in thetransceiver 210 is the measuring transceiver 270. The measuringtransceiver 270 is configured to transmit and receive signals fordetecting and ranging purposes. The measuring transceiver 270 cantransmit and receive signals for measuring range and angle of anexternal object relative to the electronic device 200. The measuringtransceiver 270 may be any type of transceiver including, but notlimited to a WiFi transceiver, for example, an 802.11ay transceiver, aUWB transceiver, and the like. In certain embodiments, the measuringtransceiver 270 includes a sensor. For example, the measuringtransceiver 270 can operate both measuring and communication signalsconcurrently. The measuring transceiver 270 includes one or more antennaarrays, or antenna pairs, that each includes a transmitter (ortransmitter antenna) and a receiver (or receiver antenna). The measuringtransceiver 270 can transmit signals at various frequencies, such as inUWB. The measuring transceiver 270 can receive the signals from anexternal electronic device also referred to as a target device) fordetermining whether the external electronic device within the FoV of theelectronic device 200.

The transmitter, of the measuring transceiver 270, can transmit UWBsignals. The receiver, of the measuring transceiver, can receive UWBsignals from other electronic devices. The processor 240 can analyze thetime difference, based on the time stamps of transmitted and receivedsignals, to measure the distance of the target objects from theelectronic device 200. Based on the time differences, the processor 240can generate location information, indicating a distance that theexternal electronic device is from the electronic device 200. In certainembodiments, the measuring transceiver 270 is a sensor that can detectrange and AoA of another electronic device. For example, the measuringtransceiver 270 can identify changes in azimuth and/or elevation of theother electronic device relative to the measuring transceiver 270. Incertain embodiments, the measuring transceiver 270 represents two ormore transceivers. Based on the differences between a signal received byeach of the transceivers, the processor 240 can determine the identifychanges in azimuth and/or elevation corresponding to the AoA of thereceived signals.

Although FIG. 2 illustrates one example of electronic device 200,various changes can be made to FIG. 2 . For example, various componentsin FIG. 2 can be combined, further subdivided, or omitted and additionalcomponents can be added according to particular needs. As a particularexample, the processor 240 can be divided into multiple processors, suchas one or more central processing units (CPUs), one or more graphicsprocessing units (GPUs), one or more neural networks, and the like.Also, while FIG. 2 illustrates the electronic device 200 configured as amobile telephone, tablet, or smartphone, the electronic device 200 canbe configured to operate as other types of mobile or stationary devices.

FIG. 3 illustrates an example network configuration according toembodiments of the present disclosure. An embodiment of the networkconfiguration shown in FIG. 3 is for illustration only. One or more ofthe components illustrated in FIG. 3 can be implemented in specializedcircuitry configured to perform the noted functions or one or more ofthe components can be implemented by one or more processors executinginstructions to perform the noted functions.

FIG. 3 illustrated a block diagram illustrating a network configurationincluding an electronic device 301 in a network environment 300according to various embodiments. As illustrated in FIG. 300 , theelectronic device 301 in the network environment 300 may communicatewith an electronic device 302 via a first network 398 (e.g., ashort-range wireless communication network), or an electronic device 304or a server 308 via a second network 399 (e.g., a long-range wirelesscommunication network). The first network 398 and/or the second network399 can be similar to the network 102 of FIG. 1 . The electronic devices301, 302, and 304 can be similar to any of the client devices 106-114 ofFIG. 1 and include similar components to that of the electronic device200 of FIG. 2 . The server 308 can be similar to the server 104 of FIG.1 .

The electronic device 301 can be one of various types of electronicdevices. The electronic devices may include, for example, a portablecommunication device (e.g., a smartphone), a computer device, a portablemultimedia device, a portable medical device, a camera, a wearabledevice, or a home appliance. According to an embodiment of thedisclosure, the electronic devices are not limited to those describedabove.

According to an embodiment, the electronic device 301 may communicatewith the electronic device 304 via the server 308. According to anembodiment, the electronic device 301 may include a processor 320,memory 330, an input device 350, a sound output device 355, a displaydevice 360, an audio module 370, a sensor module 376, an interface 377,a haptic module 379, a camera module 380, a power management module 388,a battery 389, a communication module 390, a subscriber identificationmodule(SIM) 396, or an antenna module 397. In some embodiments, at leastone (e.g., the display device 360 or the camera module 380) of thecomponents may be omitted from the electronic device 301, or one or moreother components may be added in the electronic device 301. In someembodiments, some of the components may be implemented as singleintegrated circuitry. For example, the sensor module 376 (e.g., afingerprint sensor, an iris sensor, or an illuminance sensor) may beimplemented as embedded in the display device 360 (e.g., a display).

The processor 320 may execute, for example, software (e.g., a program340) to control at least one other component (e.g., a hardware orsoftware component) of the electronic device 301 coupled with theprocessor 320 and may perform various data processing or computation.According to one embodiment, as at least part of the data processing orcomputation, the processor 320 may load a command or data received fromanother component (e.g., the sensor module 376 or the communicationmodule 390) in volatile memory 332, process the command or the datastored in the volatile memory 332, and store resulting data innon-volatile memory 334.

According to an embodiment, the processor 320 may include a mainprocessor 321 (e.g., a central processing unit (CPU) or an applicationprocessor (AP)), and an auxiliary processor 323 (e.g., a graphicsprocessing unit (GPU), an image signal processor (ISP), a sensor hubprocessor, or a communication processor (CP)) that is operableindependently from, or in conjunction with, the main processor 321.Additionally or alternatively, the auxiliary processor 323 may beadapted to consume less power than the main processor 321, or to bespecific to a specified function. The auxiliary processor 323 may beimplemented as separate from, or as part of the main processor 321.

The auxiliary processor 323 may control at least some of functions orstates related to at least one component (e.g., the display device 360,the sensor module 376, or the communication module 390) among thecomponents of the electronic device 301, instead of the main processor321 while the main processor 321 is in an inactive (e.g., sleep) state,or together with the main processor 321 while the main processor 321 isin an active state (e.g., executing an application). According to anembodiment, the auxiliary processor 323 (e.g., an image signal processoror a communication processor) may be implemented as part of anothercomponent (e.g., the camera module 380 or the communication module 390)functionally related to the auxiliary processor 323.

The memory 330 may store various data used by at least one component(e.g., the processor 320 or the sensor module 376) of the electronicdevice 301. The various data may include, for example, software (e.g.,the program 340) and input data or output data for a command relatedthereto. The memory 330 may include the volatile memory 332 or thenon-volatile memory 334.

The program 340 may be stored in the memory 330 as software. The program340 may include, for example, an operating system (OS) 342, middleware344, or an application 346.

The input device 350 may receive a command or data to be used by othercomponents (e.g., the processor 320) of the electronic device 301, fromthe outside (e.g., a user) of the electronic device 301. The inputdevice 350 may include, for example, a microphone, a mouse, a keyboard,or a digital pen (e.g., a stylus pen). In certain embodiments, the inputdevice 350 includes a sensor for gesture recognition. For example, theinput device 350 can include a transceiver similar to the measuringtransceiver 270 of FIG. 2 .

The sound output device 355 may output sound signals to the outside ofthe electronic device 301. The sound output device 355 may include, forexample, a speaker or a receiver. The speaker may be used for generalpurposes, such as playing multimedia or playing record, and the receivermay be used for incoming calls. According to an embodiment, the receivermay be implemented as separate from, or as part of the speaker.

The display device 360 may visually provide information to the outside(e.g., a user) of the electronic device 301. The display device 360 mayinclude, for example, a display, a hologram device, or a projector andcontrol circuitry to control a corresponding one of the display,hologram device, or projector. According to an embodiment, the displaydevice 360 may include touch circuitry adapted to detect a touch, orsensor circuitry (e.g., a pressure sensor) adapted to measure theintensity of force incurred by the touch. The display device 360 can besimilar to the display 255 of FIG. 2 .

The audio module 370 may convert a sound into an electrical signal andvice versa. According to an embodiment, the audio module 370 may obtainthe sound via the input device 350, output the sound via the soundoutput device 355, or output the sound via a headphone of an externalelectronic device (e.g., an electronic device 302) directly (e.g.,wiredly) or wirelessly coupled with the electronic device 301.

The sensor module 376 may detect an operational state (e.g., power ortemperature) of the electronic device 301 or an environmental state(e.g., a state of a user) external to the electronic device 301, andthen generate an electrical signal or data value corresponding to thedetected state. According to an embodiment, the sensor module 376 mayinclude, for example, a gesture sensor, a gyro sensor, an atmosphericpressure sensor, a magnetic sensor, an acceleration sensor, a gripsensor, a proximity sensor, a color sensor, an infrared (IR) sensor, abiometric sensor, a temperature sensor, a humidity sensor, or anilluminance sensor. The sensor module 376 can be similar to the sensors265 of FIG. 2 .

The interface 377 may support one or more specified protocols to be usedfor the electronic device 101 to be coupled with the external electronicdevice (e.g., the electronic device 302) directly (e.g., wiredly) orwirelessly. According to an embodiment, the interface 377 may include,for example, a high definition multimedia interface (HDMI), a universalserial bus (USB) interface, a secure digital (SD) card interface, or anaudio interface.

A connecting terminal 378 may include a connector via which theelectronic device 301 may be physically connected with the externalelectronic device (e.g., the electronic device 302). According to anembodiment, the connecting terminal 378 may include, for example, a HDMIconnector, a USB connector, a SD card connector, or an audio connector(e.g., a headphone connector).

The haptic module 379 may convert an electrical signal into a mechanicalstimulus (e.g., a vibration or a movement) or electrical stimulus whichmay be recognized by a user via his tactile sensation or kinestheticsensation. According to an embodiment, the haptic module 379 mayinclude, for example, a motor, a piezoelectric element, or an electricstimulator.

The camera module 380 may capture a still image or moving images.According to an embodiment, the camera module 380 may include one ormore lenses, image sensors, image signal processors, or flashes.

The power management module 388 may manage power supplied to theelectronic device 301. According to one embodiment, the power managementmodule 388 may be implemented as at least part of, for example, a powermanagement integrated circuit (PMIC).

The battery 389 may supply power to at least one component of theelectronic device 301. According to an embodiment, the battery 389 mayinclude, for example, a primary cell which is not rechargeable, asecondary cell which is rechargeable, or a fuel cell.

The communication module 390 may support establishing a direct (e.g.,wired) communication channel or a wireless communication channel betweenthe electronic device 301 and the external electronic device (e.g., theelectronic device 302, the electronic device 304, or the server 308) andperforming communication via the established communication channel. Thecommunication module 390 may include one or more communicationprocessors that are operable independently from the processor 320 (e.g.,the application processor (AP)) and supports a direct (e.g., wired)communication or a wireless communication.

According to an embodiment, the communication module 390 may include awireless communication module 392 (e.g., a cellular communicationmodule, a short-range wireless communication module, or a globalnavigation satellite system (GNSS) communication module) or a wiredcommunication module 394 (e.g., a local area network (LAN) communicationmodule or a power line communication (PLC) module). A corresponding oneof these communication modules may communicate with the externalelectronic device via the first network 398 (e.g., a short-rangecommunication network, such as BLUETOOTH, wireless-fidelity (Wi-Fi)direct, UWB, or infrared data association (IrDA)) or the second network399 (e.g., a long-range communication network, such as a cellularnetwork, the Internet, or a computer network (e.g., LAN or wide areanetwork (WAN)). These various types of communication modules may beimplemented as a single component (e.g., a single chip), or may beimplemented as multi components (e.g., multi chips) separate from eachother. The wireless communication module 392 may identify andauthenticate the electronic device 301 in a communication network, suchas the first network 398 or the second network 399, using subscriberinformation (e.g., international mobile subscriber identity (IMSI))stored in the subscriber identification module 396.

The antenna module 397 may transmit or receive a signal or power to orfrom the outside (e.g., the external electronic device) of theelectronic device 301. According to an embodiment, the antenna module397 may include an antenna including a radiating element composed of aconductive material or a conductive pattern formed in or on a substrate(e.g., PCB).

According to an embodiment, the antenna module 397 may include aplurality of antennas. In such a case, at least one antenna appropriatefor a communication scheme used in the communication network, such asthe first network 398 or the second network 399, may be selected, forexample, by the communication module 390 (e.g., the wirelesscommunication module 392) from the plurality of antennas. The signal orthe power may then be transmitted or received between the communicationmodule 390 and the external electronic device via the selected at leastone antenna.

According to an embodiment, another component (e.g., a radio frequencyintegrated circuit (RFIC)) other than the radiating element may beadditionally formed as part of the antenna module 397.

At least some of the above-described components may be coupled mutuallyand communicate signals (e.g., commands or data) therebetween via aninter-peripheral communication scheme (e.g., a bus, general purposeinput and output (GPIO), serial peripheral interface (SPI), or mobileindustry processor interface (MIPI)).

According to an embodiment, commands or data may be transmitted orreceived between the electronic device 301 and the external electronicdevice 304 via the server 308 coupled with the second network 399. Eachof the electronic devices 302 and 304 may be a device of a same type as,or a different type, from the electronic device 301. According to anembodiment, all or some of operations to be executed at the electronicdevice 301 may be executed at one or more of the external electronicdevices 302, 304, or 308. For example, if the electronic device 301 mayperform a function or a service automatically, or in response to arequest from a user or another device, the electronic device 301,instead of, or in addition to, executing the function or the service,may request the one or more external electronic devices to perform atleast part of the function or the service.

The one or more external electronic devices receiving the request mayperform the at least part of the function or the service requested, oran additional function or an additional service related to the requestand transfer an outcome of the performing to the electronic device 301.The electronic device 301 may provide the outcome, with or withoutfurther processing of the outcome, as at least part of a reply to therequest. To that end, a cloud computing, distributed computing, orclient-server computing technology may be used, for example.

Although FIG. 3 illustrates one example of the electronic device 301 inthe network environment 300, various changes can be made to FIG. 3 . Forexample, various components in FIG. 3 can be combined, furthersubdivided, or omitted and additional components can be added accordingto particular needs. As a particular example, the processor 320 can befurther divided into additional processors, such as one or more centralprocessing units (CPUs), one or more graphics processing units (GPUs),one or more neural networks, and the like. Also, while FIG. 3illustrates the electronic device 301 configured as a mobile telephone,tablet, or smartphone, the electronic device 301 can be configured tooperate as other types of mobile or stationary devices.

FIG. 4A illustrates an example diagram 400 of a determination of whethera target device (such as the target device 410 a or the target device410 b) is within a FoV of an electronic device 402 according toembodiments of the present disclosure. FIG. 4B illustrates an examplecoordinate system 420 according to embodiments of the presentdisclosure. The electronic device 402, the target device 410 a, and thetarget device 410 b can be any one of the client device 106-114 and caninclude internal components similar to that of electronic device 200 ofFIG. 2 and the electronic device 301 of FIG. 3 . The determination ofwhether the target device 410 a or the target device 410 b is within thefield of view of the electronic device 402 can be performed by theelectronic device 402, any one of the client device 106-114 or theserver 104 of FIG. 1 .

In certain embodiments, the electronic device 402, the target device 410a, and the target device 410 b can include a transceiver, such as a UWBtransceiver. Any other suitable transceiver, receiver, or transmittermay be used. Range and AoA information is obtained based on the exchangeof signals between the electronic device 402, the target device 410 a,and the target device 410 b.

As shown in FIG. 4A, the determination of whether an external electronicdevice (such as either of the target devices 410 a or 410 b) is within aFoV of another electronic device (such as the electronic device 402) isbased on the size and shape of a FoV. A portion of the environmentaround the electronic device 402 is illustrated as FoV 408 a, whileanother portion of the environment around the electronic device 402 isillustrated as outside FoV 408 b. The boundary 404 represents anapproximate boundary between the FoV 408 a and outside the FoV 408 b.The boresight 406 is the center of the FoV 408 a. The boresight 406 canbe the axis of maximum gain (e.g., maximum radiated power) of an antenna(e.g., a directional antenna) of the electronic device 402. In someinstances, the axis of maximum gain coincides with the axis of symmetryof the antenna of the electronic device 402. In some implementations,the electronic device 402 includes one or more phased array antennasthat can electronically steer a beam, change the angle of the boresight406 by shifting the relative phase of the radio waves emitted bydifferent antenna elements, radiate beams in multiple directions, andthe like.

The FoV of an electronic device (such as the FoV 408 a of the electronicdevice 402 of FIG. 4A) is a range of angles (e.g., around the boresight406), within which the target device (such as the target devices 410 aand 410 b) can be defined as being present (e.g., based on UWBmeasurements). The size and shape of a FoV can vary based onenvironmental conditions and the hardware of the electronic deviceitself.

In certain embodiments, if there is a direct line of sight (LOS) betweenthe electronic device 402 and a target device (such as the target device410 a or 410 b), and range and AoA measurements are good, identifyingthe presence of target in FoV can be performed based on AoAmeasurements. However, many times, the measurements are corrupted bymultipath and non-line of sight (NLOS) scenarios. Non-isotropic antennaradiation patterns can also result in low quality of AoA measurements.For example, when the signal received from a direct path between thetarget device (such as the target device 410 b) is weak, it is possiblethat the signal received from a reflected path, based on theenvironment, can be strong enough to be used for generating the rangeand AoA measurements. The generated range and AoA measurements which arebased on a reflected signal would give false results of where the targetis. For example, the target device 410 b can transmit signals to theelectronic device 402. If the electronic device 402 uses a reflectedsignal (instead of a direct signal) the electronic device 402 canincorrectly determine that the target device 410 b is located within theFoV 408 a instead of its actual location which is outside the FoV 408 b.Therefore, embodiments of the present disclosure address problems fordetermining whether the target device is in the FoV of the electronicdevice when the UWB measurements between them may not be very accurate.

As shown in FIG. 4B, the coordinate system 420 can be used to find thedistance and the relative angle that the target device 410 a is from theelectronic device 402. The distance and the relative angle between thetarget device 410 a and the electronic device 402 correspond to therange and AoA measurements when the target device 410 a is within theFoV of the electronic device 402. The coordinate system 420 illustratesthe azimuth angle and the elevation angle between the two devices. Asillustrated, the azimuth angle is the horizontal angle between theelectronic device 402 and the target device 410 a. Similarly, theelevation angle is the vertical angle between the electronic device 402and the target device 410 a. The coordinate system 420 illustrates therange, r, (distance) between the electronic device 402 and the targetdevice 410 a.

FIGS. 5A, 5B, and 5C illustrate signal processing diagrams 500 a, 500 b,and 500 c, respectively, for field of view determination according toembodiments of the present disclosure. In certain embodiments, thesignal processing diagrams 500 a, 500 b, and 500 c can be performed byany one of the client device 106-114 or the server 104 of FIG. 1 and caninclude internal components similar to that of electronic device 200 ofFIG. 2 and the electronic device 301 of FIG. 3 .

As discussed above, post processing can be performed to improve thequality of measurements received from transceivers and output a FoVdecision regarding the target device along with smoothed range and AoA.FIGS. 5A, 5B, and 5C describe various signal processing diagrams forimproving the quality of measurements received from transceivers anddetermining whether a target device is within the FoV of the electronicdevice.

As illustrated in FIG. 5A, the signal processing diagram 500 a includesinitial FoV classifier 510, a motion detection engine 520, a trackingfilter operation 530, and a fine FoV classifier 540. In certainembodiments, if a motion sensor is not available (such as when theelectronic device 200 does not include a sensor 265), then the motiondetection engine 520 can be removed such as illustrated by the signalprocessing diagram 500 b of FIG. 5B and the signal processing diagram500 c of FIG. 5C.

The signal processing diagrams 500 a, 500 b, and 500 c receive input 502and input 504. The input 502 includes features (such as UWB features)based on the received signals that are communicated between the electricdevice and the target device. The input 504 includes measurements (suchas range measurements and AoA measurements) based on the receivedsignals that are communicated between the electric device and the targetdevice.

In certain embodiments, the features of the input 502 are derived fromCIR. Example features can include, but are not limited to:signal-to-noise ratio (SNR) of the first peak (in dB, in linear domainor with other relative strength indicator) from the CIR, SNR of thestrongest peak (in dB, in linear domain or with other relative strengthindicator) from the CIR, difference between the SNR of strongest andfirst peak (in dB, in linear domain or with other relative strengthindicator), received signal strength (in dB or dBm), and the timedifference between the first and strongest peak (in nsec, number of timesamples or other time based metrics). FIG. 6 illustrates CIR graphsdepicting the first peak and the strongest peak.

For example, FIG. 6 illustrates example CIR graphs 600 a and 600 b foran initial FoV determination according to embodiments of the presentdisclosure. In certain embodiments, the CIR graphs 600 a and 600 b canbe created by any one of the client device 106-114 or the server 104 ofFIG. 1 and can include internal components similar to that of electronicdevice 200 of FIG. 2 and the electronic device 301 of FIG. 3 .

The CIR graphs 600 a and 600 b of FIG. 6 represent CIR from twodifferent antennae of the electronic device. For example, the CIR graph600 a represents the CIR from one antenna of an electronic device andthe CIR graph 600 b represents the CIR from another antenna of the sameelectronic device. The CIR graphs 600 a and 600 b show the signal powervs. tap index of a received signal. The range and AoA measurements canbe calculated based on the earliest peak with sufficient SNR in the CIRplot.

The features derived from the CIR graphs 600 a and 600 b can be used toclassify, via an initial prediction (via the initial FoV classifier 510)of whether target device is in a FoV of the electronic device. The CIRfeatures of the input 502 can include (i) absolute strength of one ormultiple peaks in CIR, normally represented by SNR, (ii) difference insignal strength among multiple peaks in CIR, normally represented bySNR, (iii) time differences between multiple peaks in the CIR, (iv)phase relationship among multiple antennas used to generate the AoAinformation, (v) other features derived from the amplitude and phasearound the peaks, and the like.

In certain embodiments, various feature vectors can be included in theinput 502. The initial FoV classifier 510 then uses the feature vectorsfrom the input 502 for generating the initial prediction of whether thetarget device is within the FoV of the electronic device. For example,the feature vector of the input 502 could be expressed as:Feature Vector=[SNRFirst,SNRMain,AoA]  (1)Feature Vector=[SNRFirst,SNRMain−SNRFirst,AoA]  (2)Feature Vector=[SNRFirst,SNRMain,ToAGap,AoA]  (3)Feature Vector=[SNRFirst,SNRMain−SNRFirst,ToAGap,AoA]  (4)Feature Vector=[SNRFirst,SNRMain,ToAGap,AoA,RSSI  (5)FeatureVector=[SNRFirst,SNRMain,ToAGap,AoA,variance(AoA),variance(range),variance(SNRFirst)]  (6)FeatureVector=[max(SNRFirst₁,SNRFirst₂),min(SNRMain₁−SNRFirst₁,SNRMain₂−SNRFirst₂),AoA]  (7)The feature SNRFirst corresponds to the first peak strength 612 (or thefirst peak strength 622) of FIG. 6 and the feature SNRMain correspondsto the strongest peak strength 614 (or the strongest peak strength 624)of FIG. 6 . The feature ToAGap is the difference between first peakstrength 612 and strongest peak strength 614. In certain embodiments,AoA measurements are estimated based on the phase difference frommultiple antennas including, but not limited to, SNRFirst, SNRMain andToAGap. If the electronic device is equipped with a single antenna or isoperating with only a single antenna, then the AoA measurements cannotbe measured and only a single CIR graph would be generated. Otherfeatures such as received signal strength indicator (RSSI) can beincluded in the input 502, such as described in the feature vector ofEquation (5).

The features SNRFirst, SNRMain, and ToAGap correspond to an antenna ofthe electronic device. Therefore, if the measurement from multipleantennas for the features are present, each of those features can beobtained from either the same antenna or it can be a function of theseCIR features obtained from different antennae. The antenna from whicheach of those features is used depends on the corresponding hardwarecharacteristics as suitable for classification.

Equation (2) and Equation (4) describes the feature vector representedby a first peak strength 612 (denoted as SNRFirst), a difference betweenstrongest peak strength 614 (SNRMain) and first peak strength 612, andAoA. Additionally, Equation (4) describes the feature vector thatincludes a feature corresponding to the time difference between firstpeak strength 612 and strongest peak strength 614 (ToAGap).

Additionally, the feature vector of Equation (7), SNRFirst, and SNRMain,are the CIR features obtained from antenna i. Therefore, if there aretwo antennas, SNRFirst, and SNRMain₁ correspond to the first antenna,and SNRFirst₂ and SNRMain₂ correspond to the second antenna.

The input 504 of FIGS. 5A, 5B, and 5C include measurements based on thereceived signals that are communicated between the electric device andthe target device. In certain embodiments, the input 504 includes UWBmeasurements. The measurements can include as range (distance in meters,centimeters or other distance based metrics) measurements and AoA (indegrees, radians or other angle based metrics) measurements.

In certain embodiments, the measurements of the input 502 are used bythe initial FoV classifier 510 for classical machine learning. Forexample, the measurements of the input 502 include statistics, such asthe mean and variance, on the range measurements and raw AoAmeasurements.

The initial FoV classifier 510 performs an initial FoV or out-of-FoVprediction about the target device based on the input 502 (including theUWB features). In certain embodiments, the initial FoV classifier 510uses UWB measurements and features which include range and AoA alongwith other CIR features. In certain embodiments, the initial FoVclassifier 510 includes multiple initial FoV classifiers.

In certain embodiments, the initial FoV classifier 510 usesdeterministic logic, a classical machine learning classifier, a deeplearning classifier, or a combination thereof to generate an initialprediction of a presence of the target device relative to a FoV of theelectronic device. In certain embodiments, the classification of theinitial FoV classifier 510 labels the target device as in ‘FoV’ or‘out-of-FoV’ of the electronic device based on the input 502. Theclassifiers that can be used in the initial FoV classifier 510 include,but are not limited to, K-Nearest Neighbors (KNN), Support VectorMachine (SVM), Decision Tree, Random Forest, Neural Network,Convolutional Neural Network (CNN), Long Short Term Memory (LSTM), andthe like.

Training data for the classifier of the initial FoV classifier 510 canbe collected by obtaining multiple measurements between the electronicdevice and the target device in FoV and out-of-FoV in both LOS and NLOSscenarios. To add variation to the training data, measurements can betaken at different ranges between the electronic device and the targetdevice up to a maximum usable range. Also, the environment of datacollection can be varied. For example, the training data can becollected in an open space environment or in a cluttered environmentprone to multipath. Additional variations can also be added to thetraining data such as by changing the tilting angle of the electronicdevice, the target device, or both devices. Similarly, the training datacan include further variations such as by rotating the target device atdifferent angles. The measurements can be labeled as per the applicationdepending on which scenario or setup is required to be labeled as FoVand which one is supposed to be out-of-FoV.

There are several ways in which certain features from the input 502(such as the SNRFirst, SNRMain, ToAGap, and the like) can be used by theinitial FoV classifier 510 to predict when the target device is in FoVof the electronic device. For example, when a direct signal path betweenthe electronic device and the target device exists (such as under a LOSor in FoV scenario), SNRFirst and SNRMain are close and ToAGap isnear-zero. In contrast, in NLOS or out-of-FoV scenario, the first peakstrength 612, representing the direct signal path, is likely to be oflower magnitude and far from the strongest peak strength 614, whichrepresents the reflected signal path. Therefore, in the NLOS orout-of-FoV scenario SNRFirst is likely smaller than SNRMain and ToaGapis likely to be large. In the cases when the signal quality is bad, thefirst peak strength 612 the strongest peak strength 614 are susceptibleto drifting and likely to have smaller magnitude, thus the differencebetween SNRFirst and SNRMain, as well as the ToaGap are good indicatorsof whether the target device is in the FoV of the electronic device.

Variance of some of the features (such as variance of range, variance ofthe AoA, and variance of SNRFirst), over a certain sliding window alsoprovide information that is useful for the initial FoV classifier 510.For example, if the window size is K, a buffer is maintained that storesprevious K measurements of the features over which the variance iscalculated and used in the feature vector. Instead of variance, othermetrics that can measure the spread of the features can also be used.

In certain embodiments, the initial FoV classifier 510 includes an SVMclassifier for classifying the target device in FoV or out-of-FoV usinga feature vector of Equation (2). Additionally, the initial FoVclassifier 510 includes an SVM classifier with a Gaussian kernel forclassifying the target device in FoV or out-of-FoV using a featurevector of Equation (2).

SVM training involves finding a hyperplane in the N-dimensional featurespace that can separate the data points in the two classes. For a datapoint x_(i), if y_(i)ϵ{1, −1} represents the corresponding label, with apositive label representing FoV and a negative label representingout-of-FoV. The optimization problem of SVM is defined as shown inEquation (8), such that Equations (9) and (10) are satisfied.

$\begin{matrix}{{\min\limits_{w,b,\xi}{\frac{1}{2}w^{T}w}} + {C{\sum_{i}\xi_{i}}}} & (8) \\{{{y_{i}\left( {{w^{T}{\phi\left( x_{i} \right)}} + b} \right)} \geq {1 - \xi_{i}}},{{for}\mspace{14mu}{all}\mspace{14mu} i}} & (9) \\{{\xi_{i} \geq 0},{{for}\mspace{14mu}{all}\mspace{14mu} i}} & (10)\end{matrix}$Here, C>0 represents the penalty on the error term and ϕ(x_(i)) is theprojection of data point x_(i) to a higher dimensional space.

One way of solving this minimization problem is by solving the followingdual problem of Equation (11), such that Equations (12) and (13) aresatisfied.

$\begin{matrix}{{\max\limits_{\lambda \geq 0}{{- \frac{1}{2}}{\sum_{i}{\sum_{j}{\lambda_{i}\lambda_{j}y_{i}y_{j}{\phi\left( x_{i} \right)}^{T}{\phi\left( x_{j} \right)}}}}}} + {\sum_{i}\lambda_{i}}} & (11) \\{{\sum_{i}{\lambda_{i}y_{i}}} = 0} & (12) \\{{0 \leq \lambda_{i} \leq C},{{for}\mspace{14mu}{all}\mspace{14mu} i}} & (13)\end{matrix}$

If training data in the positive and negative classes are not balanced,the error between the two classes can be evenly distributed by using adifferent penalty for positive and negative class and modifying theminimization problem as shown in Equation (14), such that Equations (15)and (16) are satisfied. For example, if the data in the two classes isnot balanced, then the error between two classes is evenly distributedby penalizing the two classes by a value that is inversely proportionalto the amount of data in the class. One example is to use the penaltyvalues as shown in Equation (17).

$\begin{matrix}{{\min\limits_{w,b,\xi}{\frac{1}{2}w^{T}w}} + {C_{+}{\sum\limits_{{i\text{:}y_{i}} = 1}^{\;}\xi_{i}}} + {C_{-}{\sum\limits_{{i\text{:}y_{i}} = {- 1}}^{\;}\xi_{i}}}} & (14) \\{{{y_{i}\left( {{w^{T}{\phi\left( x_{i} \right)}} + b} \right)} \geq {1 - \xi_{i}}},{{for}\mspace{14mu}{all}\mspace{14mu} i}} & (15) \\{{\xi_{i} \geq 0},{{for}\mspace{14mu}{all}\mspace{14mu} i}} & (16) \\{{C_{+} = \frac{c}{\#{Positive}\mspace{14mu}{class}\mspace{14mu}{data}}},{C_{-} = \frac{c}{\#{Negative}\mspace{14mu}{class}\mspace{14mu}{data}}}} & (17)\end{matrix}$

In certain embodiments, if the FoV features in LOS and NLOS are highlydistinct, then the initial FoV classifier 510 could use a multi-classclassifier that can distinguish between the following classes (i) LOSFoV (ii) NLOS FoV (iii) LOS out-of-FoV and (iv) NLOS out-of-FoV. Incertain embodiments, the initial FoV classifier 510 uses a multi-classclassifier to label (i) LOS FoV, (ii) NLOS FoV and (iii) NLOS. FoV. Incertain embodiments, the initial FoV classifier 510 uses a multi-classclassifier as described in FIG. 7 , below.

In certain embodiments, if out-of-FoV data is not available or notsufficient for training, then a one-class classifier can be trainedusing just the FoV data, such as a Support Vector Data Description(SVDD) classifier.

If a classifier of the initial FoV classifier 510 lacks satisfactoryperformance due to the feature vector (of the input 502) not coveringthe spread of features in some specific environment (due to variance ofAoA, range and SNRFirst, and the like), then a more directed classifierbased on additional manual logic can be included in the initial FoVclassifier 510 for correcting the decision of the first classifier.Variance of the features can provide information about the target beingin FoV or out of FoV. Features do not vary much or vary smoothly whenthe target is in FoV, while fluctuations of these features increase inan out-of-FoV scenario. As such, the manual logic can utilizeinformation about the spread of the features to correct the decision ofthe classifier of the initial FoV classifier 510.

That is, the initial FoV classifier 510 can determine to change thedecision of a classifier based on the variances of the input. Forexample, if the output of a classifier of the initial FoV classifier 510is out of FoV and the variance of AoA is below a threshold whileAoAϵFoV, the initial FoV classifier 510 can determine to change theoutput (from out of FoV) to FoV. Similarly, if the output of aclassifier of the initial FoV classifier 510 is FoV, but the variance ofAoA is above a threshold and variance of range is above a range variancethreshold, the initial FoV classifier 510 can determine to change output(from FoV) to out of FoV.

For another example, if the output of a classifier of the initial FoVclassifier 510 is out-of-FoV, but ToAGap is below a threshold whileAoAϵFoV, the initial FoV classifier 510 can determine to change theoutput (from out of FoV) to FoV. Similarly, if the output of aclassifier of the initial FoV classifier 510 is out-of-FoV, butSNRMain-SNRFirst is below its corresponding threshold while AoAϵFoV, theinitial FoV classifier 510 can determine to change the output (from outof FoV) to FoV. Alternatively, if the output of a classifier of theinitial FoV classifier 510 is FoV, but variance of SNRFirst is above athreshold (or variance of range is above a threshold), then the initialFoV classifier 510 can determine to change the output (from FoV) toout-of-FoV.

In certain embodiments, the initial FoV classifier 510 uses a slidingwindow to smooth the output of the classifier and remove outliers. Forexample, the initial FoV classifier 510 can label the target device asbeing within the FoV or out of the FoV and generate a probability(confidence score) associated with the label. The sliding window canaverage the output probability and compare the average to a threshold.Based on the comparison, the initial FoV classifier 510 generates theinitial prediction of whether the target device is within the FoV of theelectronic device. This is described in FIG. 8A, below. Similarly, thesliding window can average the label and compare the average to athreshold. Based on the comparison, the initial FoV classifier 510generates the initial prediction of whether the target device is withinthe FoV of the electronic device. This is described in FIG. 8B, below.That is, by averaging the probability, the label, or both, removesoutliers and smooths the final result of the initial FoV classifier 510.

The motion detection engine 520 determines whether motion of theelectronic device that exceeds a threshold is detected. When the motiondetection engine 520 determines that motion exceeded a threshold, thenthe motion detection engine 520 can initiate a reset. For example, themotion detection engine 520 monitors measurements from a motion sensor(such as one or more of gyroscope, accelerometer, magnetometer, inertialmeasurement unit, and the like) of the electronic device. The motiondetection engine 520 can initiate a reset operation when a detectedmotion exceeds a threshold. For example, a sudden motion can cause thetracking filter operation 530 to drift which takes time for the trackingfilter operation 530 to converge again. Therefore, when a detectedmotion exceeds a threshold, the motion detection engine 520 can initiatea reset operation to reset the tracking filter of the tracking filteroperation 530. In certain embodiments, the motion detection engine 520is omitted such as when the electronic device lacks a motion sensor. Thesignal processing diagram 500 b of FIG. 5B and the signal processingdiagram 500 c of FIG. 5B illustrate signal processing without the motiondetection engine 520. FIG. 11 describes the motion detection engine 520in greater detail.

If the electronic device is equipped with a motion sensor (such as amotion sensor that is included in the sensor module 376 of FIG. 3 or amotion sensor that is included in the sensor 265 of FIG. 2 ),information about the motion and orientation change of the device fromthis sensor can be used in the tracking filter to further improve thequality of range and AoA measurements.

The tracking filter operation 530 uses one or more tracking filters tosmooth the range and AoA measurements via the input 504. In certainembodiments, more than one tracking filter can be used where eachtracking with a different hypothesis. Example tracking filters include aKalman filter, an extended Kalman filter, a particle filter, and thelike. The tracking filter operation 530 generates output 532. The output532 can include smoothed range (in meters, centimeters or other distancebased metrics). The output 532 can also include the smoothed AoA (indegrees, radians or other angle based metrics). FIGS. 9A, 9B, 9C, and 9Ddescribe the tracking filter operation 530 in greater detail.

The fine FoV classifier 540 combines the decision 512 from initial FoVclassifier 510 and the tracking filter operation 530 to generate output542. For example, the fine FoV classifier 540 combines the decision 512,from initial FoV classifier 510, and output 532, generated by thetracking filter operation 530, to generate the output 542. The output542 indicates whether the target device is within the FoV or outside theFoV of the external electronic device. In certain embodiments, thedecision of the fine FoV classifier 540 is a numerical value. Forexample, when the value is one (1) indicates that the target device iswithin the FoV of the electronic device and when the value is negativeone (−1) indicates that the target device is outside (not within) theFoV of the electronic device. In certain embodiments, the output 542also includes a FoV confidence indicating the confidence or probabilitythat the target device is in FoV or out of the FoV, as determined by thefine FoV classifier 540. The confidence score of the decision of thefine FoV classifier 540 is based on confidence scores from the initialFoV classifier 510 and the tracking filter operation 530. FIG. 10describes the fine FoV classifier 540 in greater detail.

In certain embodiments, the rate of input and output of the postprocessor can be the same as the rate of ranging measurements.

The signal processing diagram 500 c of FIG. 5C is similar to the signalprocessing diagram 500 a and 500 b with the omission of the fine FoVclassifier 540 and the motion detection engine 520. As illustrated inthe signal processing diagram 500 c of FIG. 5C, the tracking filteroperation 530 receives the input 504 (range measurements and AoAmeasurements). The tracking filter operation 530 smooths the AoAmeasurements and the range measurements and generates output 532including the smoothed range and the smoothed AoA. These filtered(smoothed) measurements along with other UWB features (via the input502) are provided to the initial FoV classifier 510. The initial FoVclassifier 510 predicts whether the measurements are from a direct path(or a reflection) and whether the target lies in the FoV (or outside theFoV) of the electronic device based on the filtered (smoothed)measurements (generated by the tracking filters operation 530) alongwith the UWB features (via the input 502).

FIG. 7 illustrates example method 700 for selecting a classifier for aninitial FoV determination by the initial FoV classifier 510 according toembodiments of the present disclosure. The method 700 is described asimplemented by any one of the client devices 106-114 of FIG. 1 and caninclude internal components similar to that of electronic device 200 ofFIG. 2 and the electronic device 301 of FIG. 3 . However, the method 700as shown in FIG. 7 could be used with any other suitable electronicdevice and in any suitable system.

As illustrated in the method 700, a classifier of the initial FoVclassifier 510 initially labels the scenario to be LOS or NLOS. Thenanother classifier of the initial FoV classifier 510 that is trained inthat particular scenario labels the target to be in FoV or out-of-FoV.That is, as illustrated in the method 700, the initial FoV classifier510 uses three different classifiers. The first classifier is forLOS/NLOS detection, the second classifier for FoV/out-of-FoV detectionin LOS scenario and the third for FoV/out-of-FoV detection in NLOSscenario.

In step 702, a classifier of the initial FoV classifier 510 labels thetarget device as either in LOS or NLOS, based on the input 502. In step704, the initial FoV classifier 510 determines whether the classifier instep 702, classified the target device is LOS. When the target device isclassified as LOS, then in step 706, the initial FoV classifier 510selects a classifier that is trained for LOS scenarios. The selectedclassifier of step 706 then determines whether the target device is inFoV or out of the FoV of the electronic device. Alternatively, when thetarget device is classified as NLOS, then in step 708, the initial FoVclassifier 510 selects a classifier that is trained for NLOS scenarios.The selected classifier of step 708 then determines whether the targetdevice is in FoV or out of the FoV of the electronic device.

Although FIG. 7 illustrates an example method, various changes may bemade to FIG. 7 . For example, while the method 700 is shown as a seriesof steps, various steps could overlap, occur in parallel, occur in adifferent order, or occur multiple times. In another example, steps maybe omitted or replaced by other steps.

FIGS. 8A and 8B illustrate example moving average filter diagrams 800 aand 800 b for an initial FoV prediction according to embodiments of thepresent disclosure. In certain embodiments, the moving average filterdiagrams 800 a and 800 b can be used by any one of the client devices106-114 or the server 104 of FIG. 1 .

As illustrated in FIG. 8A, the classifier output 802 represents aprobability that the target device is within the FoV at different timeintervals as determined by a classifier of the initial FoV classifier510. A sliding window moves along the classifier output 802 and averagesthe probability values within the window. For example, at a first timestep, the sliding window 810 a averages the first five the probabilityvalues and outputs the average in the mean output 804, as illustrated.At the second time step, the sliding window 810 b moves one value to theright and averages the five the probability values and outputs theaverage in the mean output 804, as illustrated. This continues untilsliding window 810 n averages the final five probability values andoutputs the average in the mean output 804, as illustrated. It is notedthat in other embodiments, the sliding window can be different sizes.

Each value in the mean output 804 is then compared against a thresholdvalue. If the average probability is greater than the threshold, thenthe initial FoV classifier 510 predicts that the output is in the FoV.Alternatively, if the average probability is less than the threshold,then the initial FoV classifier 510 predicts that the output is out ofthe FoV. As illustrated in FIG. 8A, the threshold is 0.5. For example,each value of the mean output 804 that is above 0.5, the output is thevalue of one, indicating that the target device is in the FoV of theelectronic device.

As illustrated in FIG. 8B, the classifier output 820 represents theprediction of whether the target device at different time instances isin the FoV (as indicated by a value of one) or out of the FoV (asindicated by a value of negative one) of the electronic device. Incertain embodiments, the classifier output 820 is the output 806 of FIG.8A.

A sliding window moves along the classifier output 820 and averages thevalues within the window. For example, at a first time step, the slidingwindow 820 a averages the first five the values and outputs the averagein the majority voting output 830, as illustrated. At the second timestep, the sliding window 810 b moves one value to the right and averagesthe five the probability values and outputs the average in the majorityvoting output 830, as illustrated. This continues until sliding window820 n averages the final five probability values and outputs the averagein the majority voting output 830, as illustrated. It is noted that inother embodiments, the sliding window can be different sizes.

FIGS. 9A, 9B, 9C, and 9D illustrate example methods 900 a, 900 b, 900 c,and 900 d, respectively, for various tracking filter operationsaccording to embodiments of the present disclosure. The methods 900 a,900 b, 900 c, and 900 d are described as implemented by any one of theclient devices 106-114 of FIG. 1 and can include internal componentssimilar to that of electronic device 200 of FIG. 2 and the electronicdevice 301 of FIG. 3 . However, the methods 900 a, 900 b, 900 c, and 900d as shown in FIGS. 9A, 9B, 9C, and 9D, respectively, could be used withany other suitable electronic device and in any suitable system.

The tracking filter operation 530 of FIGS. 5A, 5B, and 5C can use one ormore different tracking filters to improve the quality of measurements.Example tracking filters include Kalman Filter, Extended Kalman Filter(EKF), EKF with adaptive values, a particle filter, and the like.

In certain embodiments, EKF is used to track UWB measurements. The statevector is defined in Equation (18), below. In Equation (18), x_(t),y_(t), z_(t) are the position of the electronic device with respect tothe target device, in three-dimensions. The observation is a function asdefined in Equation (19). The observation of Equation (19) is dependenton the interface and design choice. For example, the observation couldcorrespond to UWB measurements of range, AoA Azimuth and AoA elevation,as defined in Equation (20), below. Functions for mapping themeasurements and the state can be defined in Equation (21), Equation(22), and Equation (23), below.

$\begin{matrix}{x_{t} = \left\lbrack {x_{t},y_{t},z_{t}} \right\rbrack^{T}} & (18) \\{z_{t} = {f\left( x_{t} \right)}} & (19) \\{z_{t} = \left\lbrack {r_{t},\theta_{t},\varphi_{t}} \right\rbrack^{T}} & (20) \\{r_{t} = \sqrt{x_{t}^{2} + y_{t}^{2} + z_{t}^{2}}} & (21) \\{{az}_{t} = {{atan}\mspace{11mu}\left( \frac{x_{t}}{y_{t}} \right)}} & (22) \\{{el}_{t} = {{atan}\mspace{11mu}\left( \frac{z_{t}}{\sqrt{x_{t}^{2} + y_{t}^{2}}} \right)}} & (23)\end{matrix}$When the observation is defined as in Equation (20), then the mappingfunction between the measurements and the state is defined in Equation(21) to Equation (23), above, and Equation (24) and Equation (25),below. The state transition equation is defined in Equation (26), below.It is noted that the expression w_(t) of Equation (26) is the processnoise and the state transition model A is the identity matrix. Incertain embodiments, if the electronic device is equipped with a motionsensor (such as the sensor 265 of FIG. 23 or the sensor module 376),then a rotation matrix can be used as the state matrix A (instead of theidentity matrix). A rotation matrix can be used to further improve thequality of the measurements.

$\begin{matrix}{\theta_{t} = {{{90} - {az_{t}}} = {{atan}\left( \frac{y_{t}}{x_{t}} \right)}}} & (24) \\{\varphi_{t} = {{90 - {el_{t}}} = {{atan}\left( \frac{\sqrt{x_{t}^{2} + y_{t}^{2}}}{z_{t}} \right)}}} & (25) \\{x_{t} = {{Ax_{t - 1}} + w_{t}}} & (26)\end{matrix}$

To account for imperfections in the motion model, Q, which representsthe process noise covariance, can be tuned based on the real data. If Prepresents the error covariance matrix, R represents the measurementnoise covariance matrix, and K represents the Kalman Gain, then R (themeasurement noise covariance matrix) is determined using real data ormeasurements. One way to determine R is by obtaining measurements in thescenario where ground truth is known and calculating the variance of thedifference between the measurements and ground truth. A Jacobian Matrix,is described in Equation (27), below. Alternatively, if the measurementsare r_(t), az_(t), el_(t), then the Jacobian Matrix, is described inEquation (28). The Jacobian as is described in Equation (29), below,describes the mapping function between the measurements and state. Thefilter is initialized by calculating the state [x₀, y₀, z₀]^(T)(Equation (18), above) from the current measurements [r₀, ω₀, φ₀]^(T)(Equation (20), above) using the mapping function between them and theerror covariance matrix is initialized to identity matrix. The JacobianMatrix can be used to calculate K, the Kalman Gain.

                                           (27)${H\left( {i,j} \right)} = {\frac{{\partial{f\left( x_{t} \right)}}i}{\partial x_{j}} = \begin{bmatrix}\frac{\partial r_{t}}{\partial x_{t}} & \frac{\partial r_{t}}{\partial y_{t}} & \frac{\partial r_{t}}{\partial z_{t}} \\\frac{\partial\theta_{t}}{\partial x_{t}} & \frac{\partial\theta_{t}}{\partial y_{t}} & \frac{\partial\theta_{t}}{\partial z_{t}} \\\frac{\partial\varphi_{t}}{\partial x_{t}} & \frac{\partial\varphi_{t}}{\partial y_{t}} & \frac{\partial\varphi_{t}}{\partial z_{t}}\end{bmatrix}}$                                            (28)${H\left( {i,j} \right)} = {\frac{\partial{f\left( x_{t} \right)}_{i}}{\partial x_{j}} = \begin{bmatrix}\frac{\partial r_{t}}{\partial x_{t}} & \frac{\partial r_{t}}{\partial y_{t}} & \frac{\partial r_{t}}{\partial z_{t}} \\\frac{\partial{az}_{t}}{\partial x_{t}} & \frac{\partial{az}_{t}}{\partial y_{t}} & \frac{\partial{az}_{t}}{\partial z_{t}} \\\frac{\partial{el}_{t}}{\partial x_{t}} & \frac{\partial{el}_{t}}{\partial y_{t}} & \frac{\partial{el}_{t}}{\partial z_{t}}\end{bmatrix}}$                                            (28)$H = \begin{bmatrix}\frac{x_{t}}{\sqrt{x_{t}^{2} + y_{t}^{2} + z_{t}^{2}}} & \frac{y_{t}}{\sqrt{x_{t}^{2} + y_{t}^{2} + z_{t}^{2}}} & \frac{z_{t}}{\sqrt{x_{t}^{2} + y_{t}^{2} + z_{t}^{2}}} \\\frac{- y_{t}}{x_{t}^{2} + y_{t}^{2}} & \frac{x_{t}}{x_{t}^{2} + y_{t}^{2}} & 0 \\\frac{z_{t}x_{t}}{\left( {x_{t}^{2} + y_{t}^{2} + z_{t}^{2}} \right)\sqrt{x_{t}^{2} + y_{t}^{2}}} & \frac{z_{t}y_{t}}{\left( {x_{t}^{2} + y_{t}^{2} + z_{t}^{2}} \right)\sqrt{x_{t}^{2} + y_{t}^{2}}} & \frac{- \sqrt{x_{t}^{2} + y_{t}^{2}}}{\left( {x_{t}^{t} + y_{t}^{2} + z_{t}^{2}} \right)}\end{bmatrix}$                                            (29)$H = \begin{bmatrix}\frac{x_{t}}{\sqrt{x_{t}^{2} + y_{t}^{2} + z_{t}^{2}}} & \frac{y_{t}}{\sqrt{x_{t}^{2} + y_{t}^{2} + z_{t}^{2}}} & \frac{z_{t}}{\sqrt{x_{t}^{2} + y_{t}^{2} + z_{t}^{2}}} \\\frac{y_{t}}{\sqrt{x_{t}^{2} + y_{t}^{2}}} & \frac{- x_{t}}{x_{t}^{2} + y_{t}^{2}} & 0 \\\frac{{- z_{t}}x_{t}}{\left( {x_{t}^{2} + y_{t}^{2} + z_{t}^{2}} \right)\sqrt{x_{t}^{2} + y_{t}^{2}}} & \frac{{- z_{t}}y_{t}}{\left( {x_{t}^{2} + y_{t}^{2} + z_{t}^{2}} \right)\sqrt{x_{t}^{2} + y_{t}^{2}}} & \frac{\sqrt{x_{t}^{2} + y_{t}^{2}}}{\left( {x_{t}^{2} + y_{t}^{2} + z_{t}^{2}} \right)}\end{bmatrix}$

As illustrated in the FIG. 9A, the method 900 a describes an ExtendedKalman Filter for tracking range and AoA measurements. In step 902 thetracking filter operation 530 determines whether a stopping criteria isreached. The stopping criteria can be based on whether a new measurementwas received. For example, as long as a new measurement is received thestopping criteria is not reached.

Upon determining that the stopping criteria is not reached, in step 904,the tracking filter operation 530 performs a prediction on the state,{circumflex over (x)}, as shown in Equation (30) and a prediction on theerror covariance matrix, {circumflex over (P)}, as shown in Equation(31).{circumflex over (x)} _(t) =Ax _(t-1)  (30){circumflex over (P)} _(t) =AP _(t-1) A ^(T) +Q  (31)

In step 906, the tracking filter operation 530 identifies the JacobianMatrix as described above in Equations (27)-(29). In step 910, thetracking filter operation 530 uses the Jacobian Matrix (of step 906) toidentify the Kalman Gain, as describe in Equation (32), below.K _(t) ={circumflex over (P)} _(t) H _(t) ^(T)(H _(t) {circumflex over(P)} _(t) H _(t) ^(T) +R)⁻¹  (32)

In step 912, the tracking filter operation 530 identifies theinnovation, y_(t), as shown in Equation (33), below. The innovation isthe difference between the measured value and the predicted value.

$\begin{matrix}{y_{t} = {{z_{t} - {f\left( {\overset{\hat{}}{x}}_{t} \right)}} = {\begin{bmatrix}r_{t} \\{az}_{t} \\{el_{t}}\end{bmatrix} - \begin{bmatrix}\sqrt{{\hat{x}}_{t}^{2} + {\hat{y}}_{t}^{2} + {\hat{z}}_{t}^{2}} \\{{atan}\mspace{11mu}\left( \frac{{\hat{x}}_{t}}{{\hat{y}}_{t}} \right)} \\{{atan}\mspace{11mu}\left( \frac{{\hat{z}}_{t}}{\sqrt{{\hat{x}}_{t}^{2} + {\hat{y}}_{t}^{2}}} \right)}\end{bmatrix}}}} & (33)\end{matrix}$

In step 914, the tracking filter operation 530 updates the state, asshown in Equation (34) and the error covariance matrix, as shown inEquation (35). In step 920, the tracking filter operation 530 increasesthe time and returns to step 902.x _(t) ={circumflex over (x)} _(t) +K _(t) y _(t)  (34)P _(t)=(I−K _(t) H _(t)){circumflex over (P)} _(t)  (35)

In certain embodiments, the process noise covariance, Q, the measurementnoise covariance matrix R, or both, could be modified. For example, theprocess noise covariance, Q, can be adaptively adjusted based on theinnovation of Equation (33), above, which is the difference between thepredicted value and the measured value. If αϵ[0,1] represents theforgetting factor for updating Q, then Q is updated, as described inEquation (36) below, using the innovation of Equation (33).Q _(t) =αQ _(t-1)+(1−α)(K _(t) y _(T) y _(t) ^(T) K _(t) ^(T))  (36)

Similarly, the measurement noise covariance matrix, R, can be adaptivelyadjusted based on a residual value, described in Equation (37), below.The residual value is the difference between the updated value and themeasured value. If βϵ[0,1] represents the forgetting factor for updatingR, then R is updated using the residual term as described in Equation(37), below.ε_(t) =z _(t) −f(x _(t))  (37)R _(t) =βR _(t-1)+(1−β)(ε_(t)ε_(t) ^(T) +H _(t) {circumflex over (P)}_(t) H _(t) ^(T))  (38)

As illustrated in the FIG. 9B, the method 900 b describes an ExtendedKalman Filter with adaptive Q and R for tracking range and AoAmeasurements. In certain embodiments, both Q and R are adaptive. Inother embodiments either Q or R is adaptive. When both Q and R areadaptive, then both of the steps 908 and 916 are performed. When only Qis adaptive (and R is not adaptive) then step 916 is performed and step908 is omitted. Similarly, when only R is adaptive (and Q is notadaptive) then step 908 is performed and step 916 is omitted.

In step 902, tracking filter operation 530 determines whether a stoppingcriteria is reached. Upon determining that the stopping criteria is notreached, in step 904, the tracking filter operation 530 performs aperdition on the state, {circumflex over (x)}, as shown in Equation (30)and performs a perdition on the error covariance matrix, {circumflexover (P)}, as shown in Equation (31). In step 906, the tracking filteroperation 530 identifies the Jacobian Matrix as described above inEquations (27)-(29). In step 908, the tracking filter operation 530updates the measurement noise covariance matrix, R, based on theresidual value of Equation (37). In step 910, the tracking filteroperation 530 uses the calculated Jacobian Matrix (of step 906) toidentifies the Kalman Gain, as describe in Equation (32). In step 912,the tracking filter operation 530 identifies the innovation, y_(t), asshown in Equation (33). The innovation is the difference between themeasured value and the predicted value. In step 914, the tracking filteroperation 530 updates the state, as shown in Equation (34) and the errorcovariance matrix, as shown in Equation (35). In step 916, the trackingfilter operation 530 updates the process noise covariance, Q, based onthe innovation value of Equation (33) (of step 912). In step 918, thetracking filter operation 530 updates the residual based on Equation(37). In step 920, the tracking filter operation 530 increases the timeand returns to step 902.

In certain embodiments, if orientation change of the device is notavailable, then the rotation matrix or the state transition matrix A isset to identity matrix as described above. When information about themotion of the device is not available, the tracking filter operation 530uses a Kalman filter for tracking the target device. The state of theKalman filter is modeled as described in Equation (39). The Statetransition matrix A=I. Measurements are erroneous range, AoA azimuth andAoA elevation obtained from UWB measurements is described in Equation(40). The measurement matrix H=Ix _(t) =[r _(t),θ_(t),φ_(t)]^(T)  (39)z _(t) =[r _(t) ,az _(t) ,el _(t)]^(T)  (40)

As illustrated in the FIG. 9C, the method 900 c describes a KalmanFilter for tracking range and AoA measurements. In step 902, trackingfilter operation 530 determines whether a stopping criteria is reached.Upon determining that the stopping criteria is not reached, in step 904,the tracking filter operation 530 performs a perdition on the state,{circumflex over (x)}, as shown in Equation (30) and performs aperdition on the error covariance matrix, {circumflex over (P)}, asshown in Equation (31). In step 910 a, the tracking filter operation 530identifies the Kalman Gain, as describe in Equation (41), below. In step912 a, the tracking filter operation 530 identifies the innovation,y_(t), as shown in Equation (42), below. In step 914 a, the trackingfilter operation 530 updates the state, as shown in Equation (34) andthe error covariance matrix, as shown in Equation (43). In step 920, thetracking filter operation 530 increases the time and returns to step902.K _(t) ←{circumflex over (P)} _(t) H ^(T)(H{circumflex over (P)} _(t) H^(T) +R)⁻¹  (41)y _(t) =z _(t) −H·{circumflex over (x)} _(t)  (42)P _(t)=(I−K _(t) H){circumflex over (P)} _(t)  (43)

In certain embodiments, during a NLOS scenarios the UWB measurementsbetween the electronic device and the target device can get lost (suchthat the electronic device does not obtain the signals from the targetdevice). When dealing with measurement loss, a motion sensor (ifavailable) can be used to detect orientation changes of the electronicdevice to track AoA and range. When there are no UWB measurements, thetracking filter operation 530 can change the innovation term to zero.

As illustrated in FIG. 9D, the method 900 d describes tracking withpartial measurement loss. In step 902, tracking filter operation 530determines whether a stopping criteria is reached. Upon determining thatthe stopping criteria is not reached, in step 904, the tracking filteroperation 530 performs a perdition on the state, {circumflex over (x)},as shown in Equation (30) and performs a perdition on the errorcovariance matrix, {circumflex over (P)}, as shown in Equation (31). Instep 906, the tracking filter operation 530 identifies the JacobianMatrix as described above in Equations (27)-(29). In step 910, thetracking filter operation 530 uses the calculated Jacobian Matrix (ofstep 906) to identifies the Kalman Gain, as describe in Equation (32).In step 911 the tracking filter operation 530 determines whether the UWBmeasurements were lost (or not obtained). If the UWB measurements werelost, then in step 912 c, the tracking filter operation 530 sets theinnovation value, y_(t), to zero. Alternatively, if the UWB measurementswere received (not lost), then in step 912, the tracking filteroperation 530 identifies the innovation, y_(t), as shown in Equation(33). As discussed above, the innovation value, y_(t), is the differencebetween the measured value and the predicted value. In step 914, thetracking filter operation 530 updates the state, as shown in Equation(34) and the error covariance matrix, as shown in Equation (35). In step920, the tracking filter operation 530 increases the time and returns tostep 902.

Although FIGS. 9A, 9B, 9C, and 9D illustrate example processes, variouschanges may be made to FIGS. 9A, 9B, 9C, and 9D. For example, while themethod 900 a is shown as a series of steps, various steps could overlap,occur in parallel, occur in a different order, or occur multiple times.In another example, steps may be omitted or replaced by other steps.

The FoV decision from the initial FoV classifier 510 and the trackingfilter operation 530 can be associated with a confidence value whichreflects the probability or the confidence of the current measurement tobe from the target in FoV. For example, the FoV confidence of theinitial FoV classifier 510 can be the probability of the target being inthe FoV. For instance, if the initial prediction indicates that thattarget device is closer to the FoV boundary, then the confidence of theinitial FoV classifier 510 is low. Alternatively, the initial predictionindicates that that target device is far to the FoV boundary, then theconfidence of the initial FoV classifier 510 is high. For an SVMclassifier, this probability is inversely proportional to the distanceof the measurement from the hyperplane separating FoV and out-of-FoV.The confidence from SVM of the initial FoV classifier 510 is referred toas SVMConfidence.

Similarly, tracking filter operation 530 also outputs a confidence basedon the estimated quantities. For example, an EKF confidence iscalculated using the error covariance matrix as described in Equitation(44), below.

$\begin{matrix}{{EKFConfidence}_{t} = {\min\left( {1,\ \frac{c}{{trace}\left( P_{t} \right)}} \right)}} & (44)\end{matrix}$Here, C is a constant parameter and trace(P_(t)) is the trace of thesquare matrix P_(t). That is, the EKF confidence is the confidenceassociated with the tracking state.

FIG. 10 illustrates an example method 1000 for determining whether thetarget device is within the FoV of an electronic device according toembodiments of the present disclosure. The method 1000 is described asimplemented by any one of the client device 106-114 of FIG. 1 and caninclude internal components similar to that of electronic device 200 ofFIG. 2 and the electronic device 301 of FIG. 3 . However, the method1000 as shown in FIG. 10 could be used with any other suitableelectronic device and in any suitable system.

The fine FoV classifier 540 makes the final determination about whetherthe target device is in FoV of the electronic device by combiningdecisions of the initial FoV classifier 510 and tracking filteroperation 530. In certain embodiments, SVMConfidence is compared againsta predefined threshold. If it lies above the threshold, and input AoAand EKF output AoA both lie within the field of view, the final FoVdecision specifies that the target device is in the FoV of theelectronic device, otherwise the final FoV decision specifies that thetarget device is out of the FoV of the electronic device.

In step 1002 the electronic device determines whether a stoppingcriteria is reached. The stopping criteria can be based on whether a newmeasurement was received. For example, as long as a new measurement isreceived the stopping criteria is not reached.

Upon determining that the stopping criteria is not reached, theelectronic device in step 1004, generates an initial prediction of apresence of the target device relative to a FoV of the electronicdevice. The electronic device can use the initial FoV classifier 510 ofFIGS. 5A, 5B, and 5C. The initial prediction can be based on SVM. Incertain embodiments, the electronic device generates a confidence scoreof the initial prediction.

In step 1006, the electronic device performs a tracking filteroperation, such as the tracking filter operation 530 of FIGS. 5A, 5B,and 5C. The tracking filter operation can use various filters asdescribed in the methods of FIGS. 9A-9D. The tracking filter operationcan smooth the range information and the AoA information. In certainembodiments, the electronic device generates a confidence score outputof the tracking filter.

The electronic device performs a fine FoV classification to determinewhether the target device is within the FoV or outside the FoV of theelectronic device. The determination can be based on the AoAinformation, the smoothed AoA information, and the initial prediction ofthe presence of the external electronic device relative to the FoV ofthe electronic device. In certain embodiments, the electronic deviceuses the fine FoV classifier 540 of FIGS. 5A and 5B to determine whetherthe target device is within the FoV or outside the FoV of the electronicdevice.

To determine whether the target device is within the FoV or outside theFoV of the electronic device, the fine FoV classifier initiallydetermines, in step 1010, whether the smoothed AoA, which is output fromthe tracking filter of step 1006, is in the FoV. If the smoothed AoA ofthe target device is not in the FoV, then the fine FoV classifier 540determines that the target device is not in the FoV (step 1018).Alternatively, upon determining that the smoothed AoA indicates that thetarget device is in the FoV, the fine FoV classifier 540, in step 1012,determines whether the input AoA is in the FoV. The input AoA is the AoAmeasurements that are input into the tracking filter of step 1006. Ifthe input AoA of the target device is not in the FoV, then the fine FoVclassifier 540 determines that the target device is not in the FoV (step1018). Alternatively, upon determining that the input AoA indicates thatthe target device is in the FoV, the fine FoV classifier 540, in step1014, compares the confidence score which is generated in step 1004 to athreshold. when the confidence score is less than the threshold, thenthe fine FoV classifier 540 determines that the target device is not inthe FoV (step 1018). Alternatively, upon determining that the confidencescore is greater than the threshold, the fine FoV classifier 540determines that the target device is in the FoV of the electronic device(step 1016). In certain embodiments, the confidence score of thetracking filter (of step 1006) is compared against a threshold insteadof the confidence score of the initial prediction (of step 1004), fordetermining whether the target device is within the FoV of theelectronic device. In other embodiments, the confidence score of thetracking filter (of step 1006) can be compared against a threshold aswell as the confidence score of the initial prediction (of step 1004),for determining whether the target device is within the FoV of theelectronic device. In step 1020, the tracking filter operation 530increases the time and returns to step 1002.

In certain embodiments, upon determining that the target device is inthe FoV or out of the FoV of the electronic device, the fine FoVclassifier 540 can remove outliers and smooth the FoV determination. Thefine FoV classifier 540 can utilize a sliding window, such as thediagram 800 a of FIG. 8A and the diagram 800 b of FIG. 8B.

For example, the output of step 1016 and of step 1018 over a period oftime is illustrated as the classifier output 820 of FIG. 8B. At a firsttime step, the sliding window 820 a averages the first five the valuesand outputs the average in the majority voting output 830, asillustrated. At the second time step, the sliding window 810 b moves onevalue to the right and averages the five the probability values andoutputs the average in the majority voting output 830, as illustrated.This continues until sliding window 820 n averages the final fiveprobability values and outputs the average in the majority voting output830, as illustrated. It is noted that in other embodiments, the slidingwindow can be different sizes.

In certain embodiments, a confidence score of the fine FoV classifier540 is generated. The confidence score of the fine FoV classification isbased on the confidence score generated in step 1004 (via the initialFoV classifier 510) and the confidence score generated in step 1006 (viathe tracking filter operation 530). To generate the confidence score ofthe fine FoV classifier 540 is described in Equation (45), below, whereSVMConfidence is the confidence score generated in step 1004 (via theinitial FoV classifier 510) and EKFConfidence is the confidence scoregenerated in step 1006 (via the tracking filter operation 530).

$\begin{matrix}{{{Output}\mspace{14mu}{FoV}\mspace{14mu}{Confidence}} = \frac{{SVMConfidence} + {EKFConfidence}}{2}} & (45)\end{matrix}$

Although FIG. 10 illustrates an example method, various changes may bemade to FIG. 10 . For example, while the method 1000 is shown as aseries of steps, various steps could overlap, occur in parallel, occurin a different order, or occur multiple times. In another example, stepsmay be omitted or replaced by other steps.

FIG. 11 illustrates an example method 1000 for performing a reset due tomotion according to embodiments of the present disclosure. The method1100 is described as implemented by any one of the client device 106-114of FIG. 1 and can include internal components similar to that ofelectronic device 200 of FIG. 2 and the electronic device 301 of FIG. 3. However, the method 1100 as shown in FIG. 11 could be used with anyother suitable electronic device and in any suitable system.

As illustrated in FIG. 5A, the signal processing diagram 500 a includesa motion detection engine 520. The motion detection engine 520 caninitiate a reset operation when a detected motion exceeds a threshold.

Sometimes there can be drastic changes in the motion of the electronicdevice. In such cases, a tracking filter of the tracking filteroperation 530 may need a significant period of time to converge themeasurements after a sudden motion of the electronic device occurs.Accordingly, embodiments of the present disclosure enable the electronicdevice to reset the state of the filter when a drastic or sufficientlylarge motion is detected.

For example, variance of acceleration can be obtained from a motionsensor of the electronic device. The motion detection engine 520determines whether motion of the electronic device exceeds a threshold.When one or more motion samples exceed a threshold, the motion detectionengine 520 triggers the reset operation. Depending on whether the output(initial prediction) of initial FoV classifier 500 is FoV or out-of-FoV,motion detection engine 520 performs a soft (partial) rest or a hard(full) reset. In soft reset, the state of the tracking filter (of thetracking filter operation 530) is reinitialized using the current rangeand AoA measurements based on the mapping function between the state andmeasurements, and error covariance matrix is reinitialized to identitymatrix. In hard reset, the state of the tracking filter and errorcovariance matrix are reinitialized the same way as in soft reset, and abuffer is reset. The buffer that is reset includes the buffer thatincludes the initial predictions of the initial FoV classifier 510 ifmajority voting is performed to the output (FIG. 8B). Alternatively, thebuffer that is reset includes (i) the confidence score of the initialFoV classifier 510 (such as SVMConfidence) if average probabilitythresholding is done on classifier output (FIG. 8A), and (ii) the bufferof the output decision of the fine FoV classifier 540 if majority votingis performed to the output (FIG. 8B).

As illustrated in FIG. 11 , in step 1102, the electronic devicedetermines whether a stopping criteria is reached. The stopping criteriacan be based on whether a new measurement was received. For example, aslong as a new measurement is received the stopping criteria is notreached.

Upon determining that the stopping criteria is not reached, theelectronic device in step 1104, generates an initial prediction of apresence of the target device relative to a FoV of the electronicdevice. The electronic device can use the initial FoV classifier 510 ofFIGS. 5A, 5B, and 5C. The initial prediction can be based on SVM. Incertain embodiments, the electronic device generates a confidence scoreof the initial prediction.

The electronic device determines whether detected motion necessitates areset to a tracking filter of the tracking filter operation 530, abuffer, or both. In certain embodiments, the electronic device uses themotion detection engine 520 to determine whether a reset is to beperformed. In step 1108, the motion detection engine 520 detects motionand compares variances of the acceleration of the motion to a threshold.

When variances of the acceleration is larger than the threshold, themotion detection engine 520 determines, in step 1110, whether the outputof the step 1104 (such as the initial prediction of the coarse FoVfilter 510) indicates that the target device is in the FoV of theelectronic device. When the initial prediction of the coarse FoV filter510 indicates that the target device is in the FoV of the electronicdevice, the motion detection engine 520 performs a soft reset (step1112). Alternatively, when the initial prediction of the coarse FoVfilter 510 indicates that the target device is out of the FoV of theelectronic device, the motion detection engine 520 performs a hard reset(step 1114).

When variances of the acceleration is less than the threshold or after areset (such as the soft of step 1112 or the hard reset of step 1114) isperformed, the electronic device performs the tracking filter operation530, of step 1116. In step 1116, the electronic device performs atracking filter operation, such as the tracking filter operation 530 ofFIGS. 5A, 5B, and 5C. The tracking filter operation can use variousfilters as described in the methods of FIGS. 9A-9D. The tracking filteroperation can smooth the range information and the AoA information. Incertain embodiments, the electronic device generates a confidence scoreoutput of the tracking filter.

The electronic device can use the fine FoV classifier 540 of FIGS. 5Aand 5B to determine whether the target device is within the FoV oroutside the FoV of the electronic device based on the output of the step1104 and the output of step 1116. In step 1118, the tracking filteroperation 530 increases the time and returns to step 1102.

Although FIG. 11 illustrates an example method, various changes may bemade to FIG. 11 . For example, while the method 1100 is shown as aseries of steps, various steps could overlap, occur in parallel, occurin a different order, or occur multiple times. In another example, stepsmay be omitted or replaced by other steps.

FIG. 12 illustrates an example method 1200 for FoV determinationaccording to embodiments of the present disclosure. The method 1200 isdescribed as implemented by any one of the client device 106-114 of FIG.1 and can include internal components similar to that of electronicdevice 200 of FIG. 2 and the electronic device 301 of FIG. 3 . However,the method 1200 as shown in FIG. 12 could be used with any othersuitable electronic device and in any suitable system.

In step 1202, the electronic device, obtains channel information, rangeinformation, and AoA information based on wireless signals communicatedbetween an electronic device and an external electronic device. Incertain embodiments, the electronic device includes a transceiver thatobtains signals directly from an external electronic device (targetdevice). In other embodiments, an electronic device, such as the server104 of FIG. 1 obtains information associated with signals that arecommunicated between an electronic device and an external electronicdevice.

In certain embodiments, the channel information includes features of aCIR of a wireless channel between the electronic device and the externalelectronic device. The channel information can include. For example, thefeatures of the CIR can include a first peak strength of the CIR. Thefeatures of the CIR can also include a strongest peak strength of theCIR. The features of the CIR further include an amplitude differencebetween the first peak strength and the strongest peak strength of theCIR. Additionally, the features of the CIR can include a RSSI value. Thefeatures of the CIR can also include a variance of the first peakstrength of the CIR over a time interval. The features of the CIR canfurther include a time difference between the first peak strength of theCIR and the strongest peak strength of the CIR.

In certain embodiments, range information includes the range measurementobtained based on the wireless signals. The range information can alsoinclude a variances of the range measurement over a time interval.

In certain embodiments, the AoA information includes AoA measurementobtained based on the wireless signals. The AoA information can alsoinclude variances of the AoA measurement over a time interval.

In step 1204, the electronic device generates an initial prediction of apresence of the external electronic device relative to a FoV of theelectronic device. The initial prediction can be based on the channelinformation, the range information, the AoA information, or anycombination thereof. In certain embodiments, the initial predictionincludes an indication of whether the external electronic device iswithin the FoV or outside the FoV of the electronic device. In certainembodiments, the initial prediction is based on SVM operating on thefeatures of the CIR and at least one of the range information or the AoAinformation. A gaussian kernel can also be used to indicate whether thetarget is in or out of FOV using the feature vector.

In certain embodiments, the electronic device applies a moving averagefilter within a sliding window to the initial predictions to generate anaverage probability of being within the FoV. The electronic device thencompares the average probability of being within the FoV within thesliding window to a threshold. Thereafter, the electronic device canrevise the initial prediction of the presence of the external electronicdevice relative to the FoV of the electronic device based on thecomparison to remove outliers.

In step 1206, the electronic device performs a smoothing operation onthe range information and the AoA information using a tracking filter.In certain embodiments, the tracking filter is a Kalman Filter, anExtended Kalman Filter, an Extended Kalman Filter with adaptiveparameters, an Extended Kalman Filter that accounts for lostmeasurements, or a combination there. For example, in response todetermining that the wireless signals are not obtained, the electronicdevice can set a parameter that represents a difference between ameasured value and a predicted value of the tracking filter to zero.

In step 1208, the electronic device, determines that the externalelectronic device is within the FoV or outside the FoV of the electronicdevice. For example, the electronic device determines whether theexternal electronic device is within the FoV or outside the FoV based onthe AoA information, the smoothed AoA information (of step 1206), andthe initial prediction (of step 1204).

In certain embodiments, the electronic device gathers multipledeterminations of whether the external electronic device is within theFoV or outside the FoV of the electronic device. The electronic devicethen applies a moving average filter within a sliding window to themultiple determinations to generate an average probability of beingwithin the FoV. The electronic device then compares the averageprobability of being within the FoV within the sliding window to athreshold. Thereafter, the electronic device can revise the multipledeterminations of whether the external electronic device is within theFoV or outside the FoV of the electronic device based on the comparisonto remove outliers.

In certain embodiments, the electronic device also generates aconfidence score indicating a confidence associated with thedetermination of whether the external electronic device is within theFoV or outside the FoV of the electronic device. To generate theconfidence score, the electronic device identifies a first confidencescore associated with the initial prediction (of step 1204) andidentifies a second confidence score associated with the tracking filterbased on an error covariance matrix of the tracking filter. The firstconfidence score indicating a confidence associated with the initialprediction (of step 1204). In certain embodiments, the electronic deviceaverages the first confidence score with the second confidence score togenerate the final confidence score associated with the final decisionof whether the external electronic device is within the FoV or outsidethe FoV of the electronic device.

Although FIG. 12 illustrates an example method, various changes may bemade to FIG. 12 . For example, while the method 1200 is shown as aseries of steps, various steps could overlap, occur in parallel, occurin a different order, or occur multiple times. In another example, stepsmay be omitted or replaced by other steps.

The above flowcharts illustrate example methods that can be implementedin accordance with the principles of the present disclosure and variouschanges could be made to the methods illustrated in the flowchartsherein. For example, while shown as a series of steps, various steps ineach figure could overlap, occur in parallel, occur in a differentorder, or occur multiple times. In another example, steps may be omittedor replaced by other steps.

Although the figures illustrate different examples of user equipment,various changes may be made to the figures. For example, the userequipment can include any number of each component in any suitablearrangement. In general, the figures do not limit the scope of thisdisclosure to any particular configuration(s). Moreover, while figuresillustrate operational environments in which various user equipmentfeatures disclosed in this patent document can be used, these featurescan be used in any other suitable system.

Although the present disclosure has been described with exemplaryembodiments, various changes and modifications may be suggested to oneskilled in the art. It is intended that the present disclosure encompasssuch changes and modifications as fall within the scope of the appendedclaims. None of the description in this application should be read asimplying that any particular element, step, or function is an essentialelement that must be included in the claims scope. The scope of patentedsubject matter is defined by the claims.

What is claimed is:
 1. A method comprising: obtaining channelinformation, range information, and angle of arrival (AoA) informationbased on wireless signals communicated between an electronic device andan external electronic device; generating an initial prediction of apresence of the external electronic device relative to a field of view(FoV) of the electronic device based on the channel information and atleast one of the range information or the AoA information, wherein theinitial prediction includes an indication of whether the externalelectronic device is within the FoV or outside the FoV of the electronicdevice; applying a moving average filter within a sliding window to theinitial prediction of the presence of the external electronic devicerelative to the FoV of the electronic device; comparing an averageprobability of being within the FoV within the sliding window to athreshold; revising the initial prediction of the presence of theexternal electronic device relative to the FoV of the electronic devicebased on the comparison; performing, using a tracking filter, asmoothing operation on the range information and the AoA information togenerate smoothed AoA information and smoothed range information; anddetermining that the external electronic device is within the FoV oroutside the FoV of the electronic device based on the AoA information,the smoothed AoA information, and the initial prediction of the presenceof the external electronic device relative to the FoV of the electronicdevice.
 2. The method of claim 1, further comprising: determining toreset the tracking filter based on a comparison of motion of theelectronic device to a second threshold; when the predicted presence ofthe external electronic device is within the FoV of the electronicdevice, performing a reset to the tracking filter; and when thepredicted presence of the external electronic device is outside the FoVof the electronic device, performing a reset to the tracking filter anda buffer that stores the initial prediction.
 3. The method of claim 1,wherein: the channel information comprises features of a channel impulseresponse (CIR) of a wireless communication channel based on the wirelesssignals between the electronic device and the external electronicdevice; and the features of the CIR include at least one of: a firstpeak strength of the CIR, a strongest peak strength of the CIR, anamplitude difference between the first peak strength and the strongestpeak strength of the CIR, a received signal strength indicator (RSSI)value, a variance of the first peak strength of the CIR over a timeinterval, or a time difference between the first peak strength of theCIR and the strongest peak strength of the CIR.
 4. The method of claim3, wherein the initial prediction of the presence of the externalelectronic device relative to the FoV of the electronic device is basedon a support vector machine (SVM) operating on the features of the CIRand at least one of the range information or the AoA information.
 5. Themethod of claim 1, wherein the tracking filter is a Kalman Filter, anExtended Kalman Filter, or an Extended Kalman Filter with adaptiveparameters.
 6. The method of claim 5, further comprising: determiningwhether the wireless signals are not obtained; and in response todetermining that the wireless signals are not obtained, setting aparameter to zero, wherein the parameter represents a difference betweena measured value and a predicted value of the tracking filter.
 7. Themethod of claim 1, wherein determining that the external electronicdevice is within the FoV of the electronic device further comprises:identifying a confidence score associated with the initial prediction ofthe presence of the external electronic device relative to the FoV ofthe electronic device; determining whether the smoothed AoA informationindicates that the external electronic device is within the FoV of theelectronic device; in response to determining that the smoothed AoAinformation indicates that the external electronic device is within theFoV of the electronic device, determining whether the AoA informationindicates that the external electronic device is within the FoV of theelectronic device; in response to determining that the AoA informationindicates that the external electronic device is within the FoV of theelectronic device, comparing the confidence score to a second threshold;and determining that the external electronic device is within the FoV oroutside the FoV of the electronic device based on the comparison of theconfidence score to the second threshold.
 8. The method of claim 7,further comprising: gathering multiple determinations of whether theexternal electronic device is within the FoV or outside the FoV of theelectronic device; applying a second moving average filter within asecond sliding window to the multiple determinations; comparing anaverage probability of being within the FoV within the second slidingwindow to a third threshold; and revising the multiple determinations ofwhether the external electronic device is within the FoV or outside theFoV of the electronic device based on the comparison.
 9. The method ofclaim 7, wherein: the confidence score is a first confidence score; andthe method further comprises: identifying a second confidence scoreassociated with the tracking filter based on an error covariance matrixof the tracking filter, and generating a final confidence scoreassociated with the determination that the external electronic device iswithin the FoV or outside the FoV of the electronic device based on thefirst confidence score and the second confidence score.
 10. Anelectronic device, comprising: a processor configured to: obtain channelinformation, range information, and angle of arrival (AoA) informationbased on wireless signals communicated between the electronic device andan external electronic device; generate an initial prediction of apresence of the external electronic device relative to a field of view(FoV) of the electronic device based on the channel information and atleast one of the range information or the AoA information, wherein theinitial prediction includes an indication of whether the externalelectronic device is within the FoV or outside the FoV of the electronicdevice; apply a moving average filter within a sliding window to theinitial prediction of the presence of the external electronic devicerelative to the FoV of the electronic device; compare an averageprobability of being within the FoV within the sliding window to athreshold; revise the initial prediction of the presence of the externalelectronic device relative to the FoV of the electronic device based onthe comparison; perform, using a tracking filter, a smoothing operationon the range information and the AoA information to generate smoothedAoA information and smoothed range information; and determine that theexternal electronic device is within the FoV or outside the FoV of theelectronic device based on the AoA information, the smoothed AoAinformation, and the initial prediction of the presence of the externalelectronic device relative to the FoV of the electronic device.
 11. Theelectronic device of claim 10, wherein: the electronic device furthercomprises a buffer configured to store the initial prediction; and theprocessor is further configured to: determine to reset the trackingfilter based on a comparison of motion of the electronic device to asecond threshold; when the predicted presence of the external electronicdevice is within the FoV of the electronic device, perform a reset tothe tracking filter; and when the predicted presence of the externalelectronic device is outside the FoV of the electronic device, perform areset to the tracking filter and the buffer.
 12. The electronic deviceof claim 10, wherein: the channel information comprises features of achannel impulse response (CIR) of a wireless communication channel basedon the wireless signals between the electronic device and the externalelectronic device; and the features of the CIR include at least one of:a first peak strength of the CIR, a strongest peak strength of the CIR,an amplitude difference between the first peak strength and thestrongest peak strength of the CIR, a received signal strength indicator(RSSI) value, a variance of the first peak strength of the CIR over atime interval, or a time difference between the first peak strength ofthe CIR and the strongest peak strength of the CIR.
 13. The electronicdevice of claim 12, wherein the initial prediction of the presence ofthe external electronic device relative to the FoV of the electronicdevice, is based on a support vector machine (SVM) operating on thefeatures of the CIR and at least one of the range information or the AoAinformation.
 14. The electronic device of claim 10, wherein the trackingfilter is a Kalman Filter, an Extended Kalman Filter, or an ExtendedKalman Filter with adaptive parameters.
 15. The electronic device ofclaim 14, wherein the processor is further configured to: determinewhether the wireless signals are not obtained; and in response to adetermination that the wireless signals are not obtained, set aparameter to zero, wherein the parameter represents a difference betweena measured value and a predicted value of the tracking filter.
 16. Theelectronic device of claim 10, wherein to determine that the externalelectronic device is within the FoV of the electronic device or outsidethe FoV of the electronic device, the processor is configured to:identify a confidence score associated with the initial prediction ofthe presence of the external electronic device relative to the FoV ofthe electronic device; determine whether the smoothed AoA informationindicates that the external electronic device is within the FoV of theelectronic device; in response to determining that the smoothed AoAinformation indicates that the external electronic device is within theFoV of the electronic device, determine whether the AoA informationindicates that the external electronic device is within the FoV of theelectronic device; in response to determining that the AoA informationindicates that the external electronic device is within the FoV of theelectronic device, compare the confidence score to a second threshold;and determine that the external electronic device is within the FoV oroutside the FoV of the electronic device based on the comparison of theconfidence score to the second threshold.
 17. The electronic device ofclaim 10, wherein the electronic device further comprises a transceiverconfigured to receive the wireless signals from the external electronicdevice.
 18. The electronic device of claim 10, wherein the electronicdevice is remote from the external electronic device.
 19. Anon-transitory computer readable medium containing instructions thatwhen executed cause at least one processor to: obtain channelinformation, range information, and angle of arrival (AoA) informationbased on wireless signals communicated between an electronic device andan external electronic device; generate an initial prediction of apresence of the external electronic device relative to a field of view(FoV) of the electronic device based on the channel information and atleast one of the range information or the AoA information, wherein theinitial prediction includes an indication of whether the externalelectronic device is within the FoV or outside the FoV of the electronicdevice; apply a moving average filter within a sliding window to theinitial prediction of the presence of the external electronic devicerelative to the FoV of the electronic device; compare an averageprobability of being within the FoV within the sliding window to athreshold; and revise the initial prediction of the presence of theexternal electronic device relative to the FoV of the electronic devicebased on the comparison; perform, using a tracking filter, a smoothingoperation on the range information and the AoA information to generatesmoothed AoA information and smoothed range information; and determinethat the external electronic device is within the FoV or outside the FoVof the electronic device based on the AoA information, the smoothed AoAinformation, and the initial prediction of the presence of the externalelectronic device relative to the FoV of the electronic device.
 20. Thenon-transitory computer readable medium of claim 19, wherein theinstructions that when executed further cause the at least one processorto: determine to reset the tracking filter based on a comparison ofmotion of the electronic device to a second threshold; when thepredicted presence of the external electronic device is within the FoVof the electronic device, perform a reset to the tracking filter; andwhen the predicted presence of the external electronic device is outsidethe FoV of the electronic device, perform a reset to the tracking filterand a buffer that stores the initial prediction.
 21. The non-transitorycomputer readable medium of claim 19, wherein: the channel informationcomprises features of a channel impulse response (CIR) of a wirelesscommunication channel based on the wireless signals between theelectronic device and the external electronic device; and the featuresof the CIR include at least one of: a first peak strength of the CIR, astrongest peak strength of the CIR, an amplitude difference between thefirst peak strength and the strongest peak strength of the CIR, areceived signal strength indicator (RSSI) value, a variance of the firstpeak strength of the CIR over a time interval, or a time differencebetween the first peak strength of the CIR and the strongest peakstrength of the CIR.
 22. The non-transitory computer readable medium ofclaim 21, wherein the instructions that when executed further cause theat least one processor to use a support vector machine (SVM) operatingon the features of the CIR and at least one of the range information orthe AoA information to generate the initial prediction of the presenceof the external electronic device relative to the FoV of the electronicdevice.
 23. The non-transitory computer readable medium of claim 19,wherein the tracking filter is a Kalman Filter, an Extended KalmanFilter, or an Extended Kalman Filter with adaptive parameters.
 24. Thenon-transitory computer readable medium of claim 23, wherein theinstructions that when executed further cause the at least one processorto: determine whether the wireless signals are not obtained; and inresponse to determining that the wireless signals are not obtained, seta parameter to zero, wherein the parameter represents a differencebetween a measured value and a predicted value of the tracking filter.25. The non-transitory computer readable medium of claim 19, wherein theinstructions that when executed cause the at least one processor todetermine that the external electronic device is within the FoV of theelectronic device comprise instructions that when executed cause the atleast one processor to: identify a confidence score associated with theinitial prediction of the presence of the external electronic devicerelative to the FoV of the electronic device; determine whether thesmoothed AoA information indicates that the external electronic deviceis within the FoV of the electronic device; in response to determiningthat the smoothed AoA information indicates that the external electronicdevice is within the FoV of the electronic device, determine whether theAoA information indicates that the external electronic device is withinthe FoV of the electronic device; in response to determining that theAoA information indicates that the external electronic device is withinthe FoV of the electronic device, compare the confidence score to asecond threshold; and determine that the external electronic device iswithin the FoV or outside the FoV of the electronic device based on thecomparison of the confidence score to the second threshold.
 26. Thenon-transitory computer readable medium of claim 25, wherein theinstructions that when executed further cause the at least one processorto: gather multiple determinations of whether the external electronicdevice is within the FoV or outside the FoV of the electronic device;apply a second moving average filter within a second sliding window tothe multiple determinations; compare an average probability of beingwithin the FoV within the second sliding window to a third threshold;and revise the multiple determinations of whether the externalelectronic device is within the FoV or outside the FoV of the electronicdevice based on the comparison.
 27. The non-transitory computer readablemedium of claim 25, wherein: the confidence score is a first confidencescore; and the instructions that when executed further cause the atleast one processor to: identify a second confidence score associatedwith the tracking filter based on an error covariance matrix of thetracking filter, and generate a final confidence score associated withthe determination that the external electronic device is within the FoVor outside the FoV of the electronic device based on the firstconfidence score and the second confidence score.